BIGF[,^ ìí ô‡Data\INI\Object\AirforceGeneral.ini öt–Data\INI\Object\AmericaAir.ini Œ‡Data\INI\Object\AmericaInfantry.ini ” |yData\INI\Object\AmericaVehicle.ini ÆData\INI\Object\ChemicalGeneral.ini¡ß eData\INI\Object\DemoGeneral.ini&±D ‘©Data\INI\Object\InfantryGeneral.ini0Bí €ßData\INI\Object\LaserGeneral.ini;ÃÌ #âData\INI\Object\NukeGeneral.iniEç® ·IData\INI\Object\StealthGeneral.iniQ÷ dData\INI\Object\SuperWeaponGeneral.iniL225 ;------------------------------------------------------------------------------ Object AirF_PointDefenseLaserBeam ; *** ART Parameters *** Draw = W3DLaserDraw ModuleTag_01 Texture = EXLaser4.tga NumBeams = 5 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. InnerBeamWidth = 0.005 ;The total width of beam InnerColor = R:255 G:0 B:180 A:120 ;The inside color of the laser (hot) OuterBeamWidth = 10 ;The total width of beam OuterColor = R:100 G:0 B:100 A:100 ;The outside color of the laser (cool) Tile = Yes ;The height of the texture will determine how many times to tile the texture to fit without scaling. ScrollRate = -2500 ;Scrolls the texture offset this fast -- towards(-) away(+) Segments = 1 ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20 SegmentOverlapRatio = 0 ;This value overlaps(+) or separates(-) the segments by ratio TilingScalar = -3 ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural) ;MaxIntensityLifetime = 2000 ;Laser stays at max intensity for specified time in ms. ;FadeLifetime = 0 ;Laser will fade and delete. ;@todo -- add shot ability functionality (instead of instant point A to B) End KindOf = IMMOBILE ClientUpdate = LaserUpdate ModuleTag_02 MuzzleParticleSystem = PaladinPointDefenseLaserFlare TargetParticleSystem = GenericLaserFlare End ;Used as a weapon, this is essentially a fast pulse laser. Adjusting ;the lifetime values will determine how long it renders. The damage ;is applied immediately, so lifetime doesn't matter. Behavior = LifetimeUpdate ModuleTag_03 MinLifetime = 95 ; min lifetime in msec MaxLifetime = 95 ; max lifetime in msec End End Object AirF_AuroraBombGas ; *** ART Parameters *** ; *** DESIGN Parameters *** ; *** ENGINEERING Parameters *** KindOf = IMMOBILE Body = ActiveBody ModuleTag_01 MaxHealth = 1.0 InitialHealth = 1.0 End Behavior = PhysicsBehavior ModuleTag_02 Mass = 150.0 AerodynamicFriction = 7 ; this is now friction-per-sec ForwardFriction = 200 ; this is now friction-per-sec End Behavior = HeightDieUpdate ModuleTag_03 TargetHeight = 40.0 TargetHeightIncludesStructures = Yes DestroyAttachedParticlesAtHeight = 41.0 ; Hack, todo remove this End Behavior = SlowDeathBehavior ModuleTag_04 DestructionDelay = 1000 DestructionDelayVariance = 100 FX = INITIAL AirF_FX_AuroraBombIgnite FX = FINAL FX_DaisyCutterFinalExplosion Weapon = MIDPOINT DaisyCutterFlameWeapon ; Just a spot of flame to light trees on fire Weapon = FINAL AirF_AuroraBombDetonationWeapon End End ;------------------------------------------------------------------------------ Object AirF_RaptorPointDefenseLaserBeam ; *** ART Parameters *** Draw = W3DLaserDraw ModuleTag_01 Texture = EXLaser.tga NumBeams = 3 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. InnerBeamWidth = 0.4 ;The total width of beam InnerColor = R:255 G:255 B:255 A:250 ;The inside color of the laser (hot) OuterBeamWidth = 1.2 ;The total width of beam OuterColor = R:255 G:0 B:255 A:150 ;The outside color of the laser (cool) ;MaxIntensityLifetime = 2000 ;Laser stays at max intensity for specified time in ms. ;FadeLifetime = 0 ;Laser will fade and delete. ;@todo -- add shot ability functionality (instead of instant point A to B) End KindOf = IMMOBILE ClientUpdate = LaserUpdate ModuleTag_02 MuzzleParticleSystem = PaladinPointDefenseLaserFlare TargetParticleSystem = GenericLaserFlare End ;Used as a weapon, this is essentially a fast pulse laser. Adjusting ;the lifetime values will determine how long it renders. The damage ;is applied immediately, so lifetime doesn't matter. Behavior = LifetimeUpdate ModuleTag_03 MinLifetime = 95 ; min lifetime in msec MaxLifetime = 95 ; max lifetime in msec End End ;------------------------------------------------------------------------------ Object AirF_AuroraBomb ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = EXCarptBmb End End ; ***DESIGN parameters *** Side = America EditorSorting = SYSTEM ArmorSet Conditions = None Armor = ProjectileArmor DamageFX = None End VisionRange = 0.0 ; *** AUDIO Parameters *** ; *** ENGINEERING Parameters *** KindOf = PROJECTILE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = PhysicsBehavior ModuleTag_03 Mass = 75.0 AerodynamicFriction = 2 ; this is now friction-per-sec ForwardFriction = 2 ; this is now friction-per-sec CenterOfMassOffset = 2 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back End;; Behavior = MissileAIUpdate ModuleTag_04 TryToFollowTarget = No FuelLifetime = 0 IgnitionDelay = 0 InitialVelocity = 0 ; in dist/sec DistanceToTravelBeforeTurning = 0 DistanceToTargetBeforeDiving = 0 End Locomotor = SET_NORMAL AuroraBombLocomotor ; yes, that's right. Behavior = CreateObjectDie ModuleTag_05 CreationList = AirF_OCL_AuroraBombExplode End Behavior = FXListDie ModuleTag_06 DeathFX = AirF_FX_AuroraBombExplode End Behavior = HeightDieUpdate ModuleTag_07 TargetHeight = 50.0 TargetHeightIncludesStructures = Yes End Geometry = Sphere GeometryIsSmall = Yes GeometryMajorRadius = 2.0 End ;------------------------------------------------------------------------------ Object AirF_PatriotBinaryDataStream ; *** ART Parameters *** Draw = W3DLaserDraw ModuleTag_01 Texture = EXBinaryStream32.tga NumBeams = 1 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. Current max: 10 InnerBeamWidth = 4 ;The total width of beam InnerColor = R:0 G:255 B:0 A:180 ;The inside color of the laser (hot) Tile = Yes ;The height of the texture will determine how many times to tile the texture to fit without scaling. ScrollRate = -0.25 ;Scrolls the texture offset this fast -- towards(-) away(+) Segments = 20 ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20 ArcHeight = 30.0 ;The height of the arc SegmentOverlapRatio = 0.0000 ;This value overlaps(+) or separates(-) the segments by ratio TilingScalar = 0.25 ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural) End KindOf = IMMOBILE ClientUpdate = LaserUpdate ModuleTag_02 ;nothing End ; A patriot uses this stream as an event triggered thing, not something turned on and off with a state. Behavior = DeletionUpdate ModuleTag_03 MinLifetime = 600 ; min lifetime in msec MaxLifetime = 600 ; max lifetime in msec End End ;-------------------------------- Object AirF_AmericaJetSpectreGunship1 ; *** ART Parameters *** Draw = W3DOverlordAircraftDraw ModuleTag_01 ; Works with the dependencyModelDraw of the upgrade portable structures ;----NORMAL------------- DefaultConditionState Model = AVSGunship WeaponFireFXBone = PRIMARY MUZZLE WeaponFireFXBone = SECONDARY MUZZLE WeaponMuzzleFlash = PRIMARY MUZZLEFX WeaponMuzzleFlash = SECONDARY MUZZLEFX End ConditionState = DOOR_1_OPENING Model = AVSGunship Animation = AVSGunship.AVSGunship AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail End ConditionState = DOOR_1_CLOSING Model = AVSGunship Animation = AVSGunship.AVSGunship AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare End ;----DAMAGED------------- ConditionState = DOOR_1_OPENING DAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = DOOR_1_CLOSING DAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ;----REALLY DAMAGED------------- ConditionState = DOOR_1_OPENING REALLYDAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke02 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 SpectreSmokeLarge End ConditionState = DOOR_1_CLOSING REALLYDAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke02 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 SpectreSmokeLarge End ConditionState = RUBBLE Model = AVSGunship_D1 ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke01 SpectreSmokeLarge ParticleSysBone = Smoke03 SpectreSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke05 SpectreSmokeLarge End AliasConditionState = REALLYDAMAGED RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_OPENING OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:SpectreGunship EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 300 Prerequisites Object = AirF_AmericaAirfield End ArmorSet Conditions = None Armor = SpectreGunshipArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresSpectreGunshipArmor DamageFX = None End WeaponSet Conditions = None Weapon = PRIMARY SpectreHowitzerGun End ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = No ;Not Player built, so no veterancy.............................. ; *** AUDIO Parameters *** VoiceSelect = SpectreGunshipVoiceSelect VoiceAttack = SpectreGunshipVoiceAttack VoiceMove = SpectreGunshipVoiceMove SoundAmbient = SpectreGunshipAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds Afterburner = SpectreGunshipAfterburnerLoop HowitzerFire = SpectreHowitzerWeapon End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_ATTACK VEHICLE AIRCRAFT SCORE SELECTABLE EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 600.0 InitialHealth = 600.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = JetSlowDeathBehavior ModuleTag_04 DestructionDelay = 99999999 ; destruction will happen when we RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_SpectreGunshipExplosionLight OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_spectreDeathExplosion OCLSecondary = None FXHitGround = FX_spectreGunshipDeathExplosion OCLHitGround = OCL_A10DeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds ; FXFinalBlowUp = FX_spectreGunshipDeathExplosion OCLFinalBlowUp = OCL_SpectreDeathFinalBlowUp End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End ;SCRIPTED SUPPORT: These special power is triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = AIUpdateInterface ModuleTag_07 ForbidPlayerCommands = Yes ; this AIUpdate will only do command if from script or AI, not player End Locomotor = SET_PANIC SpectreGunshipTransitLocomotor Locomotor = SET_NORMAL SpectreGunshipOrbitLocomotor Behavior = SpecialAbility ModuleTag_32 SpecialPowerTemplate = AirF_SuperweaponSpectreGunship UpdateModuleStartsAttack = Yes End Behavior = SpectreGunshipUpdate ModuleTag_10 GattlingStrafeFXParticleSystem = SpectreGattlingArmsSmoke SpecialPowerTemplate = AirF_SuperweaponSpectreGunship HowitzerWeaponTemplate = SpectreHowitzerGun GattlingTemplateName = SpectreGunshipGattlingCannon RandomOffsetForHowitzer = 20 TargetingReticleRadius = 25 OrbitInsertionSlope = 0.7 ; steepness of orbit entry GunshipOrbitRadius = 250 HowitzerFiringRate = 300 ; how long between each attempted shot of howitzer HowitzerFollowLag = 400 ;600 ; how long after gattling acquires target can howitzer shoot same StrafingIncrement = 20 ; how far apart is each shot of the gattling as it strafes AttackAreaRadius = 200 OrbitTime = 10000 ;LEVEL1 (less than normal)!!!! AttackAreaDecal Texture = SCCSpecTarg Style = SHADOW_ALPHA_DECAL OpacityMin = 25% OpacityMax = 50% OpacityThrobTime = 1500 Color = R:127 G:177 B:222 A:255 OnlyVisibleToOwningPlayer = Yes End TargetingReticleDecal Texture = SCCSpecRet Style = SHADOW_ALPHA_DECAL OpacityMin = 50% OpacityMax = 100% OpacityThrobTime = 300 Color = R:127 G:177 B:222 A:255 OnlyVisibleToOwningPlayer = Yes End End Behavior = HelixContain ModuleTag_09 Slots = 1 DamagePercentToUnits = 100% AllowInsideKindOf = PORTABLE_STRUCTURE PassengersAllowedToFire = Yes End Behavior = FlammableUpdate ModuleTag_08 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_11 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_Client01 ;;;;;;;; End ; This allows the wingtip trails to stay stuck to the retractable wings Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 40.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;-------------------------------- Object AirF_AmericaJetSpectreGunship2 ; *** ART Parameters *** Draw = W3DOverlordAircraftDraw ModuleTag_01 ; Works with the dependencyModelDraw of the upgrade portable structures ;----NORMAL------------- DefaultConditionState Model = AVSGunship WeaponFireFXBone = PRIMARY MUZZLE WeaponFireFXBone = SECONDARY MUZZLE WeaponMuzzleFlash = PRIMARY MUZZLEFX WeaponMuzzleFlash = SECONDARY MUZZLEFX End ConditionState = DOOR_1_OPENING Model = AVSGunship Animation = AVSGunship.AVSGunship AnimationMode = ONCE Flags = START_FRAME_FIRST ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail End ConditionState = DOOR_1_CLOSING Model = AVSGunship Animation = AVSGunship.AVSGunship AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare End ;----DAMAGED------------- ConditionState = DOOR_1_OPENING DAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE Flags = START_FRAME_FIRST ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = DOOR_1_CLOSING DAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ;----REALLY DAMAGED------------- ConditionState = DOOR_1_OPENING REALLYDAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE Flags = START_FRAME_FIRST ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke02 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 SpectreSmokeLarge End ConditionState = DOOR_1_CLOSING REALLYDAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke02 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 SpectreSmokeLarge End ConditionState = RUBBLE Model = AVSGunship_D1 ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke01 SpectreSmokeLarge ParticleSysBone = Smoke03 SpectreSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke05 SpectreSmokeLarge End AliasConditionState = REALLYDAMAGED RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_OPENING OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:SpectreGunship EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 300 Prerequisites Object = AirF_AmericaAirfield End ArmorSet Conditions = None Armor = SpectreGunshipArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresSpectreGunshipArmor DamageFX = None End WeaponSet Conditions = None Weapon = PRIMARY SpectreHowitzerGun End ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = No ;Not Player built, so no veterancy.............................. ; *** AUDIO Parameters *** VoiceSelect = SpectreGunshipVoiceSelect VoiceAttack = SpectreGunshipVoiceAttack VoiceMove = SpectreGunshipVoiceMove SoundAmbient = SpectreGunshipAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds Afterburner = SpectreGunshipAfterburnerLoop HowitzerFire = SpectreHowitzerWeapon End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_ATTACK VEHICLE AIRCRAFT SCORE SELECTABLE EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 600.0 InitialHealth = 600.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = JetSlowDeathBehavior ModuleTag_04 DestructionDelay = 99999999 ; destruction will happen when we RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_SpectreGunshipExplosionLight OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_spectreDeathExplosion OCLSecondary = None FXHitGround = FX_spectreGunshipDeathExplosion OCLHitGround = OCL_A10DeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds ; FXFinalBlowUp = FX_spectreGunshipDeathExplosion OCLFinalBlowUp = OCL_SpectreDeathFinalBlowUp End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End ;SCRIPTED SUPPORT: These special power is triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = AIUpdateInterface ModuleTag_07 ForbidPlayerCommands = Yes ; this AIUpdate will only do command if from script or AI, not player End Locomotor = SET_PANIC SpectreGunshipTransitLocomotor Locomotor = SET_NORMAL SpectreGunshipOrbitLocomotor Behavior = SpecialAbility ModuleTag_32 SpecialPowerTemplate = AirF_SuperweaponSpectreGunship UpdateModuleStartsAttack = Yes End Behavior = SpectreGunshipUpdate ModuleTag_10 GattlingStrafeFXParticleSystem = SpectreGattlingArmsSmoke SpecialPowerTemplate = AirF_SuperweaponSpectreGunship HowitzerWeaponTemplate = SpectreHowitzerGun GattlingTemplateName = SpectreGunshipGattlingCannon RandomOffsetForHowitzer = 20 TargetingReticleRadius = 25 OrbitInsertionSlope = 0.7 ; steepness of orbit entry GunshipOrbitRadius = 250 HowitzerFiringRate = 300 ; how long between each attempted shot of howitzer HowitzerFollowLag = 400 ;600 ; how long after gattling acquires target can howitzer shoot same StrafingIncrement = 20 ; how far apart is each shot of the gattling as it strafes AttackAreaRadius = 200 OrbitTime = 15000 ;LEVEL2 (normal) AttackAreaDecal Texture = SCCSpecTarg Style = SHADOW_ALPHA_DECAL OpacityMin = 25% OpacityMax = 50% OpacityThrobTime = 1500 Color = R:127 G:177 B:222 A:255 OnlyVisibleToOwningPlayer = Yes End TargetingReticleDecal Texture = SCCSpecRet Style = SHADOW_ALPHA_DECAL OpacityMin = 50% OpacityMax = 100% OpacityThrobTime = 300 Color = R:127 G:177 B:222 A:255 OnlyVisibleToOwningPlayer = Yes End End Behavior = HelixContain ModuleTag_09 Slots = 1 DamagePercentToUnits = 100% AllowInsideKindOf = PORTABLE_STRUCTURE PassengersAllowedToFire = Yes End Behavior = FlammableUpdate ModuleTag_08 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_11 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_Client01 ;;;;;;;; End ; This allows the wingtip trails to stay stuck to the retractable wings Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 40.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;-------------------------------- Object AirF_AmericaJetSpectreGunship3 ; *** ART Parameters *** Draw = W3DOverlordAircraftDraw ModuleTag_01 ; Works with the dependencyModelDraw of the upgrade portable structures ;----NORMAL------------- DefaultConditionState Model = AVSGunship WeaponFireFXBone = PRIMARY MUZZLE WeaponFireFXBone = SECONDARY MUZZLE WeaponMuzzleFlash = PRIMARY MUZZLEFX WeaponMuzzleFlash = SECONDARY MUZZLEFX End ConditionState = DOOR_1_OPENING Model = AVSGunship Animation = AVSGunship.AVSGunship AnimationMode = ONCE Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail End ConditionState = DOOR_1_CLOSING Model = AVSGunship Animation = AVSGunship.AVSGunship AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare End ;----DAMAGED------------- ConditionState = DOOR_1_OPENING DAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = DOOR_1_CLOSING DAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ;----REALLY DAMAGED------------- ConditionState = DOOR_1_OPENING REALLYDAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES START_FRAME_FIRST ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke02 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 SpectreSmokeLarge End ConditionState = DOOR_1_CLOSING REALLYDAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke02 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 SpectreSmokeLarge End ConditionState = RUBBLE Model = AVSGunship_D1 ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke01 SpectreSmokeLarge ParticleSysBone = Smoke03 SpectreSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke05 SpectreSmokeLarge End AliasConditionState = REALLYDAMAGED RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_OPENING OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:SpectreGunship EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 300 Prerequisites Object = AirF_AmericaAirfield End ArmorSet Conditions = None Armor = SpectreGunshipArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresSpectreGunshipArmor DamageFX = None End WeaponSet Conditions = None Weapon = PRIMARY SpectreHowitzerGun End ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = No ;Not Player built, so no veterancy.............................. ; *** AUDIO Parameters *** SoundAmbient = SpectreGunshipAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds Afterburner = SpectreGunshipAfterburnerLoop HowitzerFire = CrusaderTankWeapon End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_ATTACK VEHICLE AIRCRAFT SCORE SELECTABLE EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 600.0 InitialHealth = 600.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = JetSlowDeathBehavior ModuleTag_04 DestructionDelay = 99999999 ; destruction will happen when we RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_SpectreGunshipExplosionLight OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_spectreDeathExplosion OCLSecondary = None FXHitGround = FX_spectreGunshipDeathExplosion OCLHitGround = OCL_A10DeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds ; FXFinalBlowUp = FX_spectreGunshipDeathExplosion OCLFinalBlowUp = OCL_SpectreDeathFinalBlowUp End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End ;SCRIPTED SUPPORT: These special power is triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = AIUpdateInterface ModuleTag_07 ForbidPlayerCommands = Yes ; this AIUpdate will only do command if from script or AI, not player End Locomotor = SET_PANIC SpectreGunshipTransitLocomotor Locomotor = SET_NORMAL SpectreGunshipOrbitLocomotor Behavior = SpecialAbility ModuleTag_32 SpecialPowerTemplate = AirF_SuperweaponSpectreGunship UpdateModuleStartsAttack = Yes End Behavior = SpectreGunshipUpdate ModuleTag_10 GattlingStrafeFXParticleSystem = SpectreGattlingArmsSmoke SpecialPowerTemplate = AirF_SuperweaponSpectreGunship HowitzerWeaponTemplate = SpectreHowitzerGun GattlingTemplateName = SpectreGunshipGattlingCannon RandomOffsetForHowitzer = 20 TargetingReticleRadius = 25 OrbitInsertionSlope = 0.7 ; steepness of orbit entry GunshipOrbitRadius = 250 HowitzerFiringRate = 300 ; how long between each attempted shot of howitzer HowitzerFollowLag = 400 ;600 ; how long after gattling acquires target can howitzer shoot same StrafingIncrement = 20 ; how far apart is each shot of the gattling as it strafes AttackAreaRadius = 200 OrbitTime = 20000 ;LEVEL3 (more than normal)!!!! AttackAreaDecal Texture = SCCSpecTarg Style = SHADOW_ALPHA_DECAL OpacityMin = 25% OpacityMax = 50% OpacityThrobTime = 1500 Color = R:127 G:177 B:222 A:255 OnlyVisibleToOwningPlayer = Yes End TargetingReticleDecal Texture = SCCSpecRet Style = SHADOW_ALPHA_DECAL OpacityMin = 50% OpacityMax = 100% OpacityThrobTime = 300 Color = R:127 G:177 B:222 A:255 OnlyVisibleToOwningPlayer = Yes End End Behavior = HelixContain ModuleTag_09 Slots = 1 DamagePercentToUnits = 100% AllowInsideKindOf = PORTABLE_STRUCTURE PassengersAllowedToFire = Yes End Behavior = FlammableUpdate ModuleTag_08 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_11 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_Client01 ;;;;;;;; End ; This allows the wingtip trails to stay stuck to the retractable wings Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 40.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_SpectreGunshipHowitzer ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVSGUNSHIP_GHOW TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY Muzzle WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponMuzzleFlash = SECONDARY MuzzleFX End End ; ***DESIGN parameters *** Side = AmericaAirForceGeneral EditorSorting = SYSTEM TransportSlotCount = 1 WeaponSet Conditions = None Weapon = PRIMARY SpectreHowitzerGun End ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module End VisionRange = 200 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop VoiceRapidFire = NoSound End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY SECONDARY TurretTurnRate = 60 // turn rate, in degrees per sec TurretPitchRate = 60 AllowsPitch = Yes End AutoAcquireEnemiesWhenIdle = No End Behavior = DestroyDie ModuleTag_04 ;nothing End Behavior = StealthDetectorUpdate ModuleTag_06 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ; Defaults to VisionRange CanDetectWhileContained = Yes End Geometry = BOX GeometryMajorRadius = 13.0 GeometryMinorRadius = 13.0 GeometryHeight = 8.0 GeometryIsSmall = No Shadow = NONE End ;------------------------------------------------------------------------------ Object AirF_AmericaJetB52 ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVBomber ParticleSysBone = Engine00 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin End ConditionState = DAMAGED Model = AVBomber_D ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Engine00 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = REALLYDAMAGED Model = AVBomber_D ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Engine00 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = RUBBLE Model = AVBomber_D1 ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End OkToChangeModelColor = Yes End Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = AVBomber_A2U Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_OPENING Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_CLOSING Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED Model = AVBomber_A2DU Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_OPENING REALLYDAMAGED Model = AVBomber_A2DU Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_CLOSING REALLYDAMAGED Model = AVBomber_A2DU Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES End End ; ***DESIGN parameters *** DisplayName = OBJECT:B52 EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 0.0 ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = TankDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End CommandSet = Command_ScriptedTransportDrops ; *** AUDIO Parameters *** SoundAmbient = B52AmbientLoop SoundAmbientRubble = NoSound ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 1000.0 InitialHealth = 1000.0 End ExperienceValue = 50 50 50 50 ; Experience point value at each level ;SCRIPTED SUPPORT: These special powers are triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_04 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ OCL = SUPERWEAPON_DaisyCutter CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_05 SpecialPowerTemplate = SuperweaponParadropAmerica UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 OCL = SUPERWEAPON_Paradrop1 CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = AirF_SuperweaponCarpetBomb OCL = AirF_SUPERWEAPON_CarpetBomb CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = PhysicsBehavior ModuleTag_07 Mass = 500.0 End Behavior = DeliverPayloadAIUpdate ModuleTag_08 DoorDelay = 500 MaxAttempts = 4 DropOffset = X:0 Y:0 Z:-10 DropDelay = 300 ; time in between each item dropped (if more than one) PutInContainer = AmericaParachute DeliveryDistance = 150 End Locomotor = SET_NORMAL B52Locomotor Behavior = TransportContain ModuleTag_09 Slots = 100 ; hey, it's a BIG transport ScatterNearbyOnExit = No OrientLikeContainerOnExit = Yes KeepContainerVelocityOnExit = Yes ExitPitchRate = 30 ExitBone = WeaponA01 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em NumberOfExitPaths = 0 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' End Behavior = JetSlowDeathBehavior ModuleTag_10 DestructionDelay = 2000 RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetBigDeathInitial OCLInitialDeath = OCL_AmericaJetCargoDeathStart DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time OCLSecondary = OCL_AmericaJetCargoHulkDeath FXSecondary = FX_BigPlaneDeath ; FXFinalBlowUp = FX_JetDeathFinalBlowUp ; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = TransitionDamageFX ModuleTag_11 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_12 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 60.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaJetAurora ; *** ART Parameters *** SelectPortrait = SAAurora_L ButtonImage = SAAurora UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaCountermeasures ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVAurora HideSubObject = BurnerFX03 BurnerFX04 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburner ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = REALLYDAMAGED Model = AVAurora_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke End ConditionState = REALLYDAMAGED JETEXHAUST Model = AVAurora_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = AVAurora_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; afterburner ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE Model = AVAurora_D1 HideSubObject = None ShowSubObject = None End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = AVAurora_D1 ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Aurora EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 180.0 ShroudClearingRange = 600 Prerequisites Object = AirF_AmericaAirfield Object = AirF_AmericaStrategyCenter End BuildCost = 2000 BuildTime = 30.0 ;in seconds WeaponSet Conditions = None Weapon = PRIMARY AuroraBombWeapon End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End ExperienceValue = 200 200 400 400 ;Experience point value at each level ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaJetAuroraCommandSet ; *** AUDIO Parameters *** VoiceSelect = AuroraBomberVoiceSelect VoiceMove = AuroraBomberVoiceMove VoiceGuard = AuroraBomberVoiceMove VoiceAttack = AuroraBomberVoiceAttack SoundAmbient = AuroraBomberAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds VoiceCreate = AuroraBomberVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceLowFuel = AuroraBomberVoiceLowFuel VoiceGarrison = AuroraBomberVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 120 ;80.0 InitialHealth = 120 ;80.0 End Behavior = JetSlowDeathBehavior ModuleTag_03 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_AuroraDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_AuroraDeathInitial ;OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary ;OCLSecondary = None FXHitGround = FX_JetDeathHitGround ;OCLHitGround = None DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = EjectPilotDie ModuleTag_04 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End Behavior = ExperienceScalarUpgrade ModuleTag_06 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = JetAIUpdate ModuleTag_07 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 SneakyOffsetWhenAttacking = -20.0 ; this is how far behind us people aim when we are in attack mode AttackLocomotorType = SET_SUPERSONIC AttackLocomotorPersistTime = 100 ; we start slowing down almost immediately AttackersMissPersistTime = 2000 ; but remain untargetable fer a bit longer ReturnForAmmoLocomotorType = SET_SLUGGISH ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Locomotor = SET_NORMAL AuroraJetLocomotor Locomotor = SET_SUPERSONIC AuroraJetSupersonicLocomotor Locomotor = SET_SLUGGISH AuroraJetSluggishLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 2 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 60.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_22 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One WeaponTemplate = AirF_PointDefenseLaser PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 0 ScanRange = 200.0 PredictTargetVelocityFactor = 1.0 End Geometry = Box GeometryIsSmall = Yes GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 5.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaJetStealthFighter ; *** ART Parameters *** SelectPortrait = SAStealth_L ButtonImage = SAStealth UpgradeCameo1 = Upgrade_AmericaLaserMissiles UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_AmericaCountermeasures UpgradeCameo4 = Upgrade_AmericaBunkerBusters ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVStealth HideSubObject = BurnerFX03 BurnerFX04 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburners ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = REALLYDAMAGED Model = AVStealth_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke End ConditionState = REALLYDAMAGED JETEXHAUST Model = AVStealth_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = AVStealth_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburners ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = RUBBLE Model = AVStealth_D1 HideSubObject = None ShowSubObject = None End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = AVStealth_D1 ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:StealthFighter EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 180.0 ShroudClearingRange = 300.0 Prerequisites Object = AirF_AmericaAirfield End WeaponSet Conditions = None Weapon = PRIMARY StealthJetMissileWeapon End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End BuildCost = 1250 BuildTime = 25.0 ;in seconds ExperienceValue = 100 100 200 300 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ; Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaJetStealthFighterCommandSet ; *** AUDIO Parameters *** VoiceSelect = StealthFighterVoiceSelect VoiceMove = StealthFighterVoiceMove VoiceAttack = StealthFighterVoiceAttack VoiceAttackAir = StealthFighterVoiceAttackAir VoiceGuard = StealthFighterVoiceAirPatrol SoundAmbient = StealthFighterAmbientLoop SoundAmbientRubble = NoSound SoundStealthOn = StealthOn SoundStealthOff = StealthOff UnitSpecificSounds VoiceCreate = StealthFighterVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceLowFuel = AuroraBomberVoiceLowFuel VoiceGarrison = StealthFighterVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = LOCAL_UNIT_ONLY KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 180.0 InitialHealth = 180.0 End Behavior = JetSlowDeathBehavior ModuleTag_03 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_StealthDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_StealthFighterDeathInitial ;OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary ;OCLSecondary = None FXHitGround = FX_JetDeathHitGround ;OCLHitGround = None DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_StealthDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = EjectPilotDie ModuleTag_04 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End Behavior = JetAIUpdate ModuleTag_06 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Behavior = ExperienceScalarUpgrade ModuleTag_08 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = StealthUpdate ModuleTag_09 StealthDelay = 1500 ; msec StealthForbiddenConditions = FIRING_PRIMARY ; not currently used... but maybe someday? (srj) ;RevealDistanceFromTarget = 0.0f FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 2 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 60.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Locomotor = SET_NORMAL StealthJetLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_22 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One WeaponTemplate = AirF_PointDefenseLaser PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 0 ScanRange = 200.0 PredictTargetVelocityFactor = 1.0 End Geometry = Cylinder GeometryIsSmall = Yes GeometryMajorRadius = 7.0 GeometryMinorRadius = 7.0 GeometryHeight = 7.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaVehicleComanche ; *** ART Parameters *** SelectPortrait = SACCommanche_L ButtonImage = SACCommanche UpgradeCameo1 = Upgrade_ComancheRocketPods UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_AmericaCountermeasures UpgradeCameo4 = AirF_Upgrade_StealthComanche ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVComancheAG HideSubObject = MissileUpgrade Animation = AVComancheAG.AVComancheAG AnimationMode = LOOP WeaponMuzzleFlash = PRIMARY TurretFX WeaponFireFXBone = PRIMARY Muzzle WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle End ConditionState = REALLYDAMAGED Model = AVComancheAG_d Animation = AVComancheAG_d.AVComancheAG_d AnimationMode = LOOP End ConditionState = WEAPONSET_PLAYER_UPGRADE ShowSubObject = MissileUpgrade Animation = AVComancheAG.AVComancheAG AnimationMode = LOOP WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = AVComancheAG_d ShowSubObject = MissileUpgrade Animation = AVComancheAG_d.AVComancheAG_d AnimationMode = LOOP WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End ConditionState = RUBBLE Model = AVComancheAG_d Animation = AVComancheAG_d.AVComancheAG_d AnimationMode = LOOP End ConditionState = RUBBLE SPECIAL_DAMAGED Model = AVComancheAG_d HideSubObject = AVComanche_Prop End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Comanche EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 200.0 ShroudClearingRange = 600 Prerequisites Object = AirF_AmericaAirfield End WeaponSet Conditions = None ; ----- Weapon = PRIMARY Comanche20mmCannonWeapon PreferredAgainst = PRIMARY INFANTRY AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = SECONDARY ComancheAntiTankMissileWeapon PreferredAgainst = SECONDARY VEHICLE STRUCTURE AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = TERTIARY NONE End WeaponSet Conditions = PLAYER_UPGRADE ; ----- Weapon = PRIMARY Comanche20mmCannonWeapon PreferredAgainst = PRIMARY INFANTRY AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = SECONDARY ComancheAntiTankMissileWeapon PreferredAgainst = SECONDARY VEHICLE STRUCTURE AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = TERTIARY ComancheRocketPodWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = AFG_ComancheArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = AFG_CountermeasuresComancheArmor DamageFX = None End BuildCost = 1200 BuildTime = 20 ; in seconds ExperienceValue = 50 50 100 200 ; Experience point value at each level ExperienceRequired = 0 100 200 400 ; Experience points needed to gain each level IsTrainable = Yes ; Can gain experience CommandSet = AirF_AmericaVehicleComancheCommandSet ; *** AUDIO Parameters *** VoiceSelect = ComancheVoiceSelect VoiceMove = ComancheVoiceMove VoiceGuard = ComancheVoiceMove VoiceAttack = ComancheVoiceAttack SoundAmbient = ComancheAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = ComancheVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceGarrison = ComancheVoiceMove TurretMoveStart = NoSound TurretMoveLoop = NoSound VoiceFireRocketPods = ComancheVoiceAttackRocket End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT PRODUCED_AT_HELIPAD Behavior = WeaponSetUpgrade ModuleTag_02 TriggeredBy = Upgrade_ComancheRocketPods End Behavior = ExperienceScalarUpgrade ModuleTag_03 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Body = ActiveBody ModuleTag_04 MaxHealth = 220.0 InitialHealth = 220.0 End Behavior = FXListDie ModuleTag_05 DeathFX = FX_ComancheStartDeath End Behavior = JetAIUpdate ModuleTag_06 MinHeight = 5 NeedsRunway = No KeepsParkingSpaceWhenAirborne = No AutoAcquireEnemiesWhenIdle = Yes ; note that comanches do not return to base when idle ; this is a bit of a trick... normally, units cannot move-and-fire at ; the same time. we need the comanche to be able to. so we give it ; a "turret" (invisible) and put the two main weapons on it, but with ; no turn rate. voila! Turret TurretTurnRate = 0 ; this "turret" does not turn TurretPitchRate = 0 ; nor does it pitch ControlledWeaponSlots = PRIMARY SECONDARY End End Locomotor = SET_NORMAL ComancheLocomotor Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor Behavior = PhysicsBehavior ModuleTag_07 Mass = 50.0 End Behavior = HelicopterSlowDeathBehavior ModuleTag_08 DestructionDelay = 99999999 ; the destruction delay SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) SoundDeathLoop = ComancheDamagedLoop MinSelfSpin = 100 ; in degrees per second MaxSelfSpin = 300 ; in degrees per second SelfSpinUpdateDelay = 100 ; in milliseconds SelfSpinUpdateAmount = 10 ; in degrees FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall MinBladeFlyOffDelay = 1500 ; in milliseconds MaxBladeFlyOffDelay = 1500 ; in milliseconds AttachParticle = SootySmokeTrail AttachParticleBone = Propeller02 BladeObjectName = ComancheBlades BladeBoneName = Propeller01 ; Most things that eject pilots do so immediately upon death, ; via use of EjectPilotDie, but Helicopters are a special case... ; they need to do so after their blades are ejected. OCLEjectPilot = OCL_EjectPilotViaParachute FXBlade = FX_HelicopterBladeExplosion OCLBlade = OCL_HelicopterBladeExplosion FXHitGround = FX_HelicopterHitGround OCLHitGround = OCL_HelicopterHitGround FXFinalBlowUp = FX_GroundedHelicopterBlowUp OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp DelayFromGroundToFinalDeath = 1500 FinalRubbleObject = ComancheRubbleHull End Behavior = TransitionDamageFX ModuleTag_09 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 2 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 60.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 4000 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = StealthUpdate ModuleTag_22 StealthDelay = 1500 ; msec StealthForbiddenConditions = FIRING_PRIMARY ATTACKING USING_ABILITY FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = No OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = StealthUpgrade ModuleTag_23 TriggeredBy = AirF_Upgrade_StealthComanche End Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 3.0 GeometryHeight = 25.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaJetA10Thunderbolt ; *** ART Parameters *** SelectPortrait = SAWarthog_L ButtonImage = SAWarthog Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = WeaponA01 ExtraPublicBone = WeaponA02 ExtraPublicBone = WeaponA03 ExtraPublicBone = WeaponA04 ExtraPublicBone = WeaponA05 ExtraPublicBone = WeaponA06 DefaultConditionState Model = AVWarthog WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 ParticleSysBone = Engine01 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Wingtip01 JetContrailThin ParticleSysBone = Wingtip02 JetContrailThin End ConditionState = REALLYDAMAGED Model = AVWarthog_D WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End AliasConditionState = RUBBLE ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:A10Thunderbolt EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 300 Prerequisites Object = AirF_AmericaAirfield End WeaponSet Conditions = None Weapon = PRIMARY A10ThunderboltVulcan End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience ; *** AUDIO Parameters *** SoundAmbient = A10ThunderboltAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject StartDive = A10ThunderboltDive End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE AIRCRAFT SCORE IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_02 MaxHealth = 600.0 InitialHealth = 600.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = JetSlowDeathBehavior ModuleTag_03 DestructionDelay = 99999999 ; destruction will happen when we RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetDeathInitial OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary OCLSecondary = None FXHitGround = FX_JetDeathHitGround OCLHitGround = OCL_A10DeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_A10DeathFinalBlowUp End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End ;SCRIPTED SUPPORT: These special power is triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = AirF_SuperweaponA10ThunderboltMissileStrike ;@@KRIS@@ UpgradeOCL = AirF_SCIENCE_A10ThunderboltMissileStrike3 SUPERWEAPON_A10ThunderboltMissileStrike3 UpgradeOCL = AirF_SCIENCE_A10ThunderboltMissileStrike2 SUPERWEAPON_A10ThunderboltMissileStrike2 OCL = SUPERWEAPON_A10ThunderboltMissileStrike1 CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = DeliverPayloadAIUpdate ModuleTag_07 End Locomotor = SET_NORMAL A10ThunderboltLocomotor Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 3 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_22 ;;;;;;;; End Geometry = Cylinder GeometryIsSmall = Yes GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaJetCargoPlane ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVCargoPln Animation = AVCargoPln.AVCargoPln AnimationMode = LOOP ParticleSysBone = Propeller01 JetBlackTrailThin ParticleSysBone = Propeller02 JetBlackTrailThin ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin End ConditionState = DAMAGED Model = AVCargoPln_D Animation = AVCargoPln_D.AVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = REALLYDAMAGED Model = AVCargoPln_D Animation = AVCargoPln_D.AVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke03 JetFireLarge ParticleSysBone = Smoke05 JetFireLarge ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke05 JetSmokeLarge End ConditionState = RUBBLE Model = AVCargoPln_D1 Animation = AVCargoPln_D.AVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke06 JetFireLarge ParticleSysBone = Smoke03 JetFireLarge ParticleSysBone = Smoke05 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke06 JetSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke05 JetSmokeLarge End OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes End Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = AVCargoPln_A2 Animation = AVCargoPln_A2.AVCargoPln_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING Model = AVCargoPln_A2 Animation = AVCargoPln_A2.AVCargoPln_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_CLOSING Model = AVCargoPln_A2 Animation = AVCargoPln_A2.AVCargoPln_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:CargoPlane EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 0.0 ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = TankDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End CommandSet = Command_ScriptedTransportDrops ; *** AUDIO Parameters *** SoundAmbient = C130AmbientLoop SoundAmbientRubble = NoSound ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT FORCEATTACKABLE IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 1000.0 InitialHealth = 1000.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = PhysicsBehavior ModuleTag_04 Mass = 500.0 End ;SCRIPTED SUPPORT: These special powers are triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_05 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ OCL = SUPERWEAPON_DaisyCutter CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = SuperweaponParadropAmerica UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 OCL = SUPERWEAPON_Paradrop1 CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_07 SpecialPowerTemplate = AirF_SuperweaponCarpetBomb OCL = AirF_SUPERWEAPON_CarpetBomb CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_08 SpecialPowerTemplate = SuperweaponCrateDrop OCL = SUPERWEAPON_CrateDrop CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = DeliverPayloadAIUpdate ModuleTag_09 DoorDelay = 500 MaxAttempts = 4 DropOffset = X:0 Y:0 Z:-10 DropDelay = 1000 ; time in between each item dropped (if more than one) PutInContainer = AmericaParachute DeliveryDistance = 150 End Locomotor = SET_NORMAL B52Locomotor Behavior = TransportContain ModuleTag_10 Slots = 100 ; hey, it's a BIG transport ScatterNearbyOnExit = No OrientLikeContainerOnExit = Yes KeepContainerVelocityOnExit = Yes ExitPitchRate = 30 ExitBone = WeaponA01 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE ;gs I added parachutable as a catch all to prevent making new kindofs (like CRATE) DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em NumberOfExitPaths = 0 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' End Behavior = JetSlowDeathBehavior ModuleTag_11 DestructionDelay = 2000 RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetBigDeathInitial OCLInitialDeath = OCL_AmericaJetCargoDeathStart DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time OCLSecondary = OCL_AmericaJetCargoHulkDeath FXSecondary = FX_BigPlaneDeath ; FXFinalBlowUp = FX_JetDeathFinalBlowUp ; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_12 ;;;;;;;; End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_13 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = TransitionDamageFX ModuleTag_17 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition End Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 40.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaInfantryColonelBurton ; *** ART Parameters *** SelectPortrait = SABurton_L ButtonImage = SABurton UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaChemicalSuits Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; idle DefaultConditionState Model = AIHERO_SKN IdleAnimation = AIHERO_SKL.AIHERO_STA 0 25 IdleAnimation = AIHERO_SKL.AIHERO_IDA IdleAnimation = AIHERO_SKL.AIHERO_IDB AnimationMode = ONCE TransitionKey = TRANS_Stand WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponMuzzleFlash = SECONDARY NONE HideSubObject = MUZZLEFX01 End ; injured idle ConditionState = REALLYDAMAGED IdleAnimation = AIHERO_SKL.AIHERO_ISTA 0 30 IdleAnimation = AIHERO_SKL.AIHERO_IIDA IdleAnimation = AIHERO_SKL.AIHERO_IIDB AnimationMode = ONCE TransitionKey = TRANS_StandInjured End TransitionState = TRANS_Stand TRANS_StandInjured Animation = AIHERO_SKL.AIHERO_ISTAHIT AnimationMode = ONCE End ; moving ConditionState = MOVING Animation = AIHERO_SKL.AIHERO_RNA 26 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Walking ParticleSysBone = None InfantryDustTrails HideSubObject = MUZZLEFX01 End AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING FIRING_B AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B AliasConditionState = MOVING RELOADING_B ; injured moving ConditionState = MOVING REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IRNA 26 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_WalkingInjured ParticleSysBone = None InfantryDustTrails HideSubObject = MUZZLEFX01 End AliasConditionState = MOVING FIRING_A REALLYDAMAGED AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED AliasConditionState = MOVING RELOADING_A REALLYDAMAGED AliasConditionState = MOVING FIRING_B REALLYDAMAGED AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B REALLYDAMAGED AliasConditionState = MOVING RELOADING_B REALLYDAMAGED ; Firing animation ConditionState = FIRING_A Animation = AIHERO_SKL.AIHERO_ATA AnimationMode = ONCE AnimationSpeedFactorRange = 1.5 1.5 TransitionKey = TRANS_FiringA End ConditionState = BETWEEN_FIRING_SHOTS_A Animation = AIHERO_SKL.AIHERO_ATA AnimationMode = MANUAL Flags = START_FRAME_LAST WaitForStateToFinishIfPossible = TRANS_FiringA End AliasConditionState = RELOADING_A ; Injured Firing animation ConditionState = FIRING_A REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATA AnimationMode = ONCE AnimationSpeedFactorRange = 1.5 1.5 TransitionKey = TRANS_FiringAInjured End ConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATA AnimationMode = MANUAL Flags = START_FRAME_LAST WaitForStateToFinishIfPossible = TRANS_FiringAInjured End AliasConditionState = RELOADING_A REALLYDAMAGED TransitionState = TRANS_FiringA TRANS_FiringAInjured Animation = AIHERO_SKL.AIHERO_IATAHIT AnimationMode = ONCE End ; Placing charge animation ConditionState = UNPACKING Animation = AIHERO_SKL.AIHERO_ATB1 AnimationMode = ONCE End AliasConditionState = MOVING UNPACKING ; Injured Placing charge animation ConditionState = UNPACKING REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATB1 AnimationMode = ONCE End AliasConditionState = MOVING UNPACKING REALLYDAMAGED ; Stab animations ConditionState = PREATTACK_B Animation = AIHERO_SKL.AIHERO_ATC AnimationMode = ONCE TransitionKey = TRANS_Stabbing HideSubObject = MUZZLEFX01 End AliasConditionState = PREATTACK_B MOVING AliasConditionState = PREATTACK_B FIRING_B AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B ConditionState = FIRING_B Animation = AIHERO_SKL.AIHERO_ATC AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_Stabbing HideSubObject = MUZZLEFX01 End AliasConditionState = BETWEEN_FIRING_SHOTS_B AliasConditionState = RELOADING_B TransitionState = TRANS_Stabbing TRANS_Stand Animation = AIHERO_SKL.AIHERO_ATC2 AnimationMode = ONCE End ; Injured Stab animations ConditionState = PREATTACK_B REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATC1 AnimationMode = ONCE TransitionKey = TRANS_StabbingInjured HideSubObject = MUZZLEFX01 End AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED ConditionState = FIRING_B REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATC2 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_StabbingInjured HideSubObject = MUZZLEFX01 End AliasConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED AliasConditionState = RELOADING_B REALLYDAMAGED TransitionState = TRANS_StabbingInjured TRANS_StandInjured Animation = AIHERO_SKL.AIHERO_IATC2 AnimationMode = ONCE End ; cheering ConditionState = SPECIAL_CHEERING Animation = AIHERO_SKL.AIHERO_CHA AnimationMode = ONCE End ; injured cheering ConditionState = SPECIAL_CHEERING REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_ICHA AnimationMode = ONCE End ; climbing ConditionState = CLIMBING Animation = AIHERO_SKL.AIHERO_CLMID AnimationMode = LOOP TransitionKey = TRANS_Climbing End AliasConditionState = RAPPELLING AliasConditionState = CLIMBING REALLYDAMAGED AliasConditionState = RAPPELLING REALLYDAMAGED ConditionState = CLIMBING MOVING Animation = AIHERO_SKL.AIHERO_CLMUP AnimationMode = LOOP TransitionKey = TRANS_Climbing End AliasConditionState = CLIMBING MOVING REALLYDAMAGED ConditionState = RAPPELLING MOVING Animation = AIHERO_SKL.AIHERO_CLMUP AnimationMode = LOOP_BACKWARDS TransitionKey = TRANS_Climbing End AliasConditionState = RAPPELLING MOVING REALLYDAMAGED ; these transitions don't really work well with our code. leave 'em out. ; TransitionState = TRANS_Climbing TRANS_Stand ; Animation = AIHERO_SKL.AIHERO_CLMST ; AnimationMode = ONCE ; End ; ; TransitionState = TRANS_Stand TRANS_Climbing ; Animation = AIHERO_SKL.AIHERO_CLMST ; AnimationMode = ONCE_BACKWARDS ; End ; dying anims ConditionState = DYING Animation = AIHERO_SKL.AIHERO_DTA Animation = AIHERO_SKL.AIHERO_DTB Animation = AIHero_SKL.AIHero_IDTA Animation = AIHero_SKL.AIHero_IDTB AnimationMode = ONCE TransitionKey = TRANS_Dying End AliasConditionState = RAPPELLING DYING AliasConditionState = CLIMBING DYING TransitionState = TRANS_Dying TRANS_Flailing Animation = AIHERO_SKL.AIHERO_ADTG21 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIHERO_SKL.AIHERO_ADTG22 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIHERO_SKL.AIHERO_ADTG23 AnimationMode = ONCE TransitionKey = None End ; misc anims ConditionState = FREEFALL Animation = AIHERO_SKL.AIHERO_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIHERO_SKL.AIHERO_PHG AnimationMode = LOOP TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = AIHERO_SKL.AIHERO_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = AIHERO_SKL.AIHERO_PTD AnimationMode = ONCE End TransitionState = TRANS_Chute TRANS_StandInjured Animation = AIHERO_SKL.AIHERO_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:ColonelBurton Side = AmericaAirForceGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY ColonelBurtonSniperRifleWeapon Weapon = SECONDARY ColonelBurtonKnifeWeapon AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = SECONDARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 500 Prerequisites Object = AirF_AmericaBarracks Object = AirF_AmericaStrategyCenter End BuildCost = 1500 BuildTime = 20.0 ;in seconds ExperienceValue = 50 100 100 150 ; Experience point value at each level ExperienceRequired = 0 200 300 600 ; Experience points needed to gain each level IsTrainable = Yes ; Can gain experience CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaInfantryColonelBurtonCommandSet MaxSimultaneousOfType = 1 ; *** AUDIO Parameters *** VoiceSelect = ColonelBurtonVoiceSelect VoiceMove = ColonelBurtonVoiceMove VoiceAttack = ColonelBurtonVoiceAttack VoiceFear = ColonelBurtonVoiceFear VoiceGuard = ColonelBurtonVoiceMove SoundStealthOn = StealthOn SoundStealthOff = StealthOff UnitSpecificSounds VoiceMelee = ColonelBurtonVoiceAttackKnife VoiceCreate = ColonelBurtonVoiceCreate VoiceGarrison = ColonelBurtonVoiceGarrison VoiceEnter = ColonelBurtonVoiceMove VoiceEnterHostile = ColonelBurtonVoiceMove VoiceGetHealed = ColonelBurtonVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE HERO CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 200.0 InitialHealth = 200.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. End Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor ColonelBurtonCliffLocomotor Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = StealthUpdate ModuleTag_07 StealthDelay = 2000 ; msec StealthForbiddenConditions = FIRING_PRIMARY HintDetectableConditions = IS_FIRING_WEAPON FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes EnemyDetectionEvaEvent = EnemyColonelBurtonDetected OwnDetectionEvaEvent = OwnColonelBurtonDetected End Behavior = SpecialAbility ModuleTag_08 SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges UpdateModuleStartsAttack = Yes InitiateSound = ColonelBurtonVoicePlantRemoteCharge End Behavior = SpecialAbilityUpdate ModuleTag_09 SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges StartAbilityRange = 0.0 PreparationTime = 0 SpecialObject = RemoteC4Charge MaxSpecialObjects = 8 SpecialObjectsPersistWhenOwnerDies = No ;Charges are removed instantly when owner dies (nobody can detonate). AlwaysValidateSpecialObjects = Yes ;Coupled with the above setting, this one is necessary for code optimization. SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge PackTime = 0 SkipPackingWithNoTarget = Yes ;When yes, the packing/unpacking will be ignored when detonating charges. FlipOwnerAfterUnpacking = Yes FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability UnpackSound = ColonelBurtonPlantCharge LoseStealthOnTrigger = Yes PreTriggerUnstealthTime = 5000 ; in milliseconds End Behavior = SpecialAbility ModuleTag_10 SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges UpdateModuleStartsAttack = Yes InitiateSound = ColonelBurtonVoicePlantTimedCharge End Behavior = SpecialAbilityUpdate ModuleTag_11 SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges StartAbilityRange = 0.0 PreparationTime = 0 SpecialObject = TimedC4Charge MaxSpecialObjects = 10 SpecialObjectsPersistWhenOwnerDies = Yes SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge FlipOwnerAfterUnpacking = Yes FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability UnpackSound = ColonelBurtonPlantCharge LoseStealthOnTrigger = Yes PreTriggerUnstealthTime = 5000 ; in milliseconds End Behavior = ExperienceScalarUpgrade ModuleTag_12 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End ;Hero units can't be squished! ;Behavior = SquishCollide ModuleTag_13 ; ;nothing ;End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_ColonelBurtonDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_ColonelBurtonDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_18 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14 ShadowSizeY = 14 ShadowTexture = ShadowI BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object AirF_AmericaInfantryRanger ; *** ART Parameters *** SelectPortrait = SARanger_L ButtonImage = SARanger UpgradeCameo1 = Upgrade_AmericaRangerFlashBangGrenade UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_InfantryCaptureBuilding UpgradeCameo4 = Upgrade_AmericaChemicalSuits ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; this says "we don't use these condition states at all, so completely ; ignore them for purposes of matchmaking"... this is useful to help ; reduce the number of AliasConditionState clauses you must add in ; order to avoid ambiguity in some cases. IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A ; --- Idle DefaultConditionState Model = AIRngr_SKN IdleAnimation = AIRngr_SKL.AIRngr_STA 0 35 IdleAnimation = AIRngr_SKL.AIRngr_IDA IdleAnimation = AIRngr_SKL.AIRngr_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle TransitionKey = TRANS_Stand End ConditionState = REALLYDAMAGED IdleAnimation = AIRngr_SKL.AIRngr_STB 0 35 IdleAnimation = AIRngr_SKL.AIRngr_IDC IdleAnimation = AIRngr_SKL.AIRngr_IDD AnimationMode = ONCE TransitionKey = TRANS_StandInjured End TransitionState = TRANS_Stand TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_SA2SB AnimationMode = ONCE End ; --- attacking (Machine Gun) ConditionState = USING_WEAPON_A Animation = AIRngr_SKL.AIRngr_ATA AnimationMode = LOOP TransitionKey = TRANS_FiringA End ConditionState = USING_WEAPON_A REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATA2 AnimationMode = LOOP TransitionKey = TRANS_FiringAInjured End TransitionState = TRANS_FiringA TRANS_FiringAInjured Animation = AIRngr_SKL.AIRngr_A2WAA AnimationMode = ONCE End TransitionState = TRANS_Stand TRANS_FiringA Animation = AIRngr_SKL.AIRngr_ATAST AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_FiringA TRANS_Stand Animation = AIRngr_SKL.AIRngr_ATAED AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_StandInjured TRANS_FiringAInjured Animation = AIRngr_SKL.AIRngr_S2WAA AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_FiringAInjured TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_WAA2S AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_Stand TRANS_Move Animation = AIRngr_SKL.AIRngr_STA2RNA AnimationMode = ONCE End ; --- attacking (Grenade Launcher) ConditionState = PREATTACK_B Animation = AIRngr_SKL.AIRngr_ATBA AnimationMode = ONCE TransitionKey = TRANS_FiringB End AliasConditionState = PREATTACK_B MOVING AliasConditionState = PREATTACK_B FIRING_B AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B ConditionState = FIRING_B Animation = AIRngr_SKL.AIRngr_ATBB AnimationMode = ONCE TransitionKey = TRANS_FiringB End ConditionState = BETWEEN_FIRING_SHOTS_B Animation = AIRngr_SKL.AIRngr_ATBB AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_FiringB WaitForStateToFinishIfPossible = TRANS_FiringB End AliasConditionState = RELOADING_B TransitionState = TRANS_Stand TRANS_FiringB Animation = AIRngr_SKL.AIRngr_ATBST1 AnimationMode = ONCE End TransitionState = TRANS_FiringB TRANS_Stand Animation = AIRngr_SKL.AIRngr_ATBST2 AnimationMode = ONCE End ConditionState = PREATTACK_B REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATB2A AnimationMode = ONCE TransitionKey = TRANS_FiringBInjured End AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED ConditionState = FIRING_B REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATB2B AnimationMode = ONCE TransitionKey = TRANS_FiringBInjured End ConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATB2B AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_FiringBInjured WaitForStateToFinishIfPossible = TRANS_FiringBInjured End AliasConditionState = RELOADING_B REALLYDAMAGED TransitionState = TRANS_StandInjured TRANS_FiringBInjured Animation = AIRngr_SKL.AIRngr_ATB2ST1 AnimationMode = ONCE End TransitionState = TRANS_FiringBInjured TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_ATB2ST2 AnimationMode = ONCE End ; -- cross-attack transitions TransitionState = TRANS_FiringA TRANS_FiringB Animation = AIRngr_SKL.AIRngr_ATA2AB AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_FiringB TRANS_FiringA Animation = AIRngr_SKL.AIRngr_ATA2AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 4 4 End ; --- moving ConditionState = MOVING Animation = AIRngr_SKL.AIRngr_RNA 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Move ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING ConditionState = MOVING REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_RNB 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Move End AliasConditionState = MOVING REALLYDAMAGED ATTACKING ; --- dying anims ConditionState = DYING Animation = AIRngr_SKL.AIRngr_DTA Animation = AIRngr_SKL.AIRngr_DTB AnimationMode = ONCE TransitionKey = None End TransitionState = TRANS_Dying TRANS_Flailing Animation = AIRngr_SKL.AIRngr_ADTF1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIRngr_SKL.AIRngr_ADTF2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIRngr_SKL.AIRngr_ADTF3 AnimationMode = ONCE TransitionKey = None End AliasConditionState = DYING SPLATTED ; --- cheering ConditionState = SPECIAL_CHEERING Animation = AIRngr_SKL.AIRngr_CHA AnimationMode = LOOP End ConditionState = SPECIAL_CHEERING REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_CHB AnimationMode = LOOP End ; ----- PARACHUTING ANIMATIONS ConditionState = FREEFALL Animation = AIRngr_SKL.AIRngr_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIRngr_SKL.AIRngr_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = AIRngr_SKL.AIRngr_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = AIRngr_SKL.AIRngr_PTD AnimationMode = ONCE End TransitionState = TRANS_Chute TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_PTD AnimationMode = ONCE End ; ------- Bldg-capture ConditionState = UNPACKING Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP1 AnimationMode = ONCE End AliasConditionState = UNPACKING REALLYDAMAGED ConditionState = RAISING_FLAG Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP2 AnimationMode = ONCE TransitionKey = TRANS_Raising End AliasConditionState = RAISING_FLAG REALLYDAMAGED ConditionState = PACKING Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST TransitionKey = TRANS_Packing End AliasConditionState = PACKING REALLYDAMAGED TransitionState = TRANS_Raising TRANS_Packing Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ; --- RAPPELLING ANIMATIONS ConditionState = RAPPELLING Animation = AIRngr_SKL.AIRngr_RPL1 ;30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Rappelling End AliasConditionState = MOVING RAPPELLING TransitionState = TRANS_Rappelling TRANS_Stand Animation = AIRngr_SKL.AIRngr_RPL2 AnimationMode = ONCE End TransitionState = TRANS_Rappelling TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_RPL2 AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Ranger Side = AmericaAirForceGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY RangerAdvancedCombatRifle End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY RangerAdvancedCombatRifle Weapon = SECONDARY RangerFlashBangGrenadeWeapon AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = None End VisionRange = 100 ShroudClearingRange = 400 Prerequisites Object = AirF_AmericaBarracks End BuildCost = 225 BuildTime = 5.0 ;in seconds ExperienceValue = 20 20 40 60 ;Experience point value at each level ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaInfantryRangerCommandSet ; *** AUDIO Parameters *** VoiceSelect = RangerVoiceSelect VoiceMove = RangerVoiceMove VoiceGuard = RangerVoiceMove VoiceAttack = RangerVoiceAttack VoiceFear = RangerVoiceFear VoiceTaskComplete = RangerVoiceCaptureComplete UnitSpecificSounds VoiceEnter = RangerVoiceMove VoiceEnterHostile = RangerVoiceMove VoiceGarrison = RangerVoiceGarrison VoiceCreate = RangerVoiceCreate VoiceSubdue = RangerVoiceSubdue VoiceClearBuilding = RangerVoiceClearBuilding VoiceGetHealed = RangerVoiceMove VoicePrimaryWeaponMode = RangerVoiceModeGun VoiceSecondaryWeaponMode = RangerVoiceModeFlashBang End UnitSpecificFX ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs CombatDropKillFX = FX_RangerCombatDropKill End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY CAN_RAPPEL SCORE Behavior = CommandButtonHuntUpdate ModuleTag_02 End Body = ActiveBody ModuleTag_03 MaxHealth = 180.0 InitialHealth = 180.0 End Behavior = ExperienceScalarUpgrade ModuleTag_04 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Behavior = AIUpdateInterface ModuleTag_06 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL BasicHumanLocomotor Behavior = PhysicsBehavior ModuleTag_07 Mass = 5.0 End Behavior = ProductionUpdate ModuleTag_08 ; nothing End Behavior = CommandButtonHuntUpdate ModuleTag_09 ; allows use of command button hunt script with this unit. End Behavior = WeaponSetUpgrade ModuleTag_10 TriggeredBy = Upgrade_AmericaRangerFlashBangGrenade End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RangerDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RangerDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = SquishCollide ModuleTag_12 ;nothing End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End Behavior = PoisonedBehavior ModuleTag_17 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SpecialAbility ModuleTag_18 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding UpdateModuleStartsAttack = Yes StartsPaused = Yes ; Unpaused by upgrade module InitiateSound = RangerVoiceCapture End Behavior = SpecialAbilityUpdate ModuleTag_19 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding StartAbilityRange = 5.0 UnpackTime = 3000 ; (changing this will scale anim speed) PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) PackTime = 2000 ; (changing this will scale anim speed) DoCaptureFX = Yes AwardXPForTriggering = 15 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_20 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding TriggeredBy = Upgrade_InfantryCaptureBuilding End Behavior = LockWeaponCreate ModuleTag_21 SlotToLock = PRIMARY ; Prevents indeterminate state plus two unpickable weapons equaling no attack. End Geometry = CYLINDER GeometryMajorRadius = 7.0 GeometryMinorRadius = 7.0 GeometryHeight = 13.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object AirF_AmericaInfantryMissileDefender ; *** ART Parameters *** SelectPortrait = SAMissleDefender_L ButtonImage = SAMissleDefender UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaChemicalSuits ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;***NOTE*** ;A little history -- the MissileDefender now uses the assets of the TankHunter. ;The TH uses assets of the GLA tunnel defender, and the TD uses assets of the NEW ;MD. It was a design/art/code decision because the new missile defender animations ;don't suit that of a mobile/offensive unit with packing and unpacking. DefaultConditionState Model = NITHNT_SKN IdleAnimation = NITHNT_SKL.NITHNT_STA 0 30 IdleAnimation = NITHNT_SKL.NITHNT_IDA IdleAnimation = NITHNT_SKL.NITHNT_IDB AnimationMode = ONCE AnimationSpeedFactorRange = 0.8 1.2 TransitionKey = TRANS_Stand WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = PRIMARY Muzzle WeaponLaunchBone = PRIMARY Muzzle WeaponLaunchBone = SECONDARY Muzzle End AliasConditionState = REALLYDAMAGED ConditionState = FIRING_A Animation = NITHNT_SKL.NITHNT_ATA AnimationMode = ONCE TransitionKey = TRANS_START_FIRING End AliasConditionState = FIRING_A REALLYDAMAGED ConditionState = BETWEEN_FIRING_SHOTS_A Animation = NITHNT_SKL.NITHNT_STA AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_START_FIRING End AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED ConditionState = MOVING Animation = NITHNT_SKL.NITHNT_RNA 20 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING REALLYDAMAGED ConditionState = RELOADING_A Animation = NITHNT_SKL.NITHNT_ATA 10 AnimationMode = ONCE ;WeaponLaunchBone = PRIMARY WeaponA End AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING RELOADING_A REALLYDAMAGED ConditionState = DYING Animation = NITHNT_SKL.NITHNT_DTA Animation = NITHNT_SKL.NITHNT_DTB AnimationSpeedFactorRange = 0.9 1.25 AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = NITHNT_SKL.NITHNT_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = NITHNT_SKL.NITHNT_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = NITHNT_SKL.NITHNT_ADTA3 AnimationMode = ONCE TransitionKey = None End ;PARACHUTING ANIMATIONS ConditionState = FREEFALL Animation = NITHNT_SKL.NITHNT_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = NITHNT_SKL.NITHNT_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = NITHNT_SKL.NITHNT_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = NITHNT_SKL.NITHNT_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:MissileTeam Side = AmericaAirForceGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY MissileDefenderMissileWeapon Weapon = SECONDARY MissileDefenderLaserGuidedMissileWeapon ;Controlled by special ability AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = SECONDARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 400 Prerequisites Object = AirF_AmericaBarracks End BuildCost = 300 BuildTime = 5.0 ;in seconds ExperienceValue = 20 20 40 60 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AirF_AmericaInfantryMissileDefenderCommandSet ; *** AUDIO Parameters *** VoiceSelect = MissileDefenderVoiceSelect VoiceMove = MissileDefenderVoiceMove VoiceGuard = MissileDefenderVoiceMove VoiceAttack = MissileDefenderVoiceAttack VoiceAttackAir = MissileDefenderVoiceAttack VoiceFear = MissileDefenderVoiceFear UnitSpecificSounds VoiceGarrison = MissileDefenderVoiceGarrison VoiceCreate = MissileDefenderVoiceCreate VoiceEnter = MissileDefenderVoiceMove VoiceGetHealed = MissileDefenderVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End Behavior = ExperienceScalarUpgrade ModuleTag_03 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = Yes End Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Locomotor = SET_NORMAL MissileDefenderLocomotor Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = SpecialAbility ModuleTag_08 SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles UpdateModuleStartsAttack = Yes InitiateSound = MissileDefenderVoiceAttackLaser End Behavior = SpecialAbilityUpdate ModuleTag_09 SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles StartAbilityRange = 200.0 AbilityAbortRange = 250.0 ;If the target moves outside this range, abort. PreparationTime = 1000 PersistentPrepTime = 500 SpecialObject = LaserBeam SpecialObjectAttachToBone = Muzzle01 End Behavior = SquishCollide ModuleTag_10 ;nothing End ;Added by JMC on 7/12/03 so that the skirmish AI can tell the missile defenders to hunt using ;the laser guided missiles. Behavior = CommandButtonHuntUpdate ModuleTag_CBHunt ; allows use of command button hunt script with this unit. End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_MissileDefenderDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_MissileDefenderDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 7.0 GeometryMinorRadius = 7.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ; @todo -- this entire unit is "first pass only" and needs lots of specialization Object AirF_AmericaInfantryPilot ; *** ART Parameters *** SelectPortrait = SAPilot_L ButtonImage = SAPilot UpgradeCameo1 = Upgrade_AmericaChemicalSuits UpgradeCameo2 = Upgrade_AmericaAdvancedTraining ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AIRPlt_SKN IdleAnimation = AIRPlt_SKL.AIRPlt_STA 0 20 IdleAnimation = AIRPlt_SKL.AIRPlt_IDA IdleAnimation = AIRPlt_SKL.AIRPlt_IDB AnimationMode = ONCE TransitionKey = TRANS_Stand End ConditionState = FREEFALL Animation = AIRPlt_SKL.AIRPLT_PFL AnimationMode = ONCE TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIRPlt_SKL.AIRPlt_PHG AnimationMode = LOOP TransitionKey = TRANS_Chute WaitForStateToFinishIfPossible = TRANS_Falling End AliasConditionState = PARACHUTING DYING ConditionState = MOVING Animation = AIRPlt_SKL.AIRPlt_RNA AnimationMode = LOOP TransitionKey = TRANS_Stand ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = AIRPlt_SKL.AIRPlt_DTA Animation = AIRPlt_SKL.AIRPlt_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = AIRPlt_SKL.AIRPlt_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIRPlt_SKL.AIRPlt_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIRPlt_SKL.AIRPlt_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = AIRPLT_SKL.AIRPLT_CHA AnimationMode = LOOP End ;@TODO -- MISSING ANIMATION FILE ;TransitionState = TRANS_Falling TRANS_Chute ; Animation = AIRPLT_SKL.AIRPLT_POP ; AnimationMode = ONCE ; Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first ;End TransitionState = TRANS_Chute TRANS_Stand Animation = AIRPlt_SKL.AIRPlt_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Pilot Side = AmericaAirForceGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) ExperienceValue = 10 10 10 10 ;Experience point value at each level ExperienceRequired = 0 1 2 3 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CommandSet = AmericaInfantryPilotCommandSet ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 300 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = PilotVoiceSelect VoiceMove = PilotVoiceMove VoiceAttack = PilotVoiceMove VoiceGarrison = NoSound VoiceFear = PilotVoiceFear UnitSpecificSounds VoiceEnter = PilotVoiceEnter VoiceEnterHostile = PilotVoiceEnter VoiceGetHealed = PilotVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY NO_GARRISON SCORE IGNORES_SELECT_ALL Behavior = VeterancyGainCreate ModuleTag_02 ; omit the "ScienceRequired" so that this upgrade always occurs. ; Pilots should never (repeat, never) be less than VETERAN status. StartingLevel = VETERAN End Behavior = VeterancyCrateCollide ModuleTag_03 RequiredKindOf = VEHICLE ; we only give our bonus to VEHICLEs we collide with ForbiddenKindOf = DOZER ; but not to TRANSPORTs or DOZERs! EffectRange = 0 ; 0=="affect only the thing you collide with" AddsOwnerVeterancy = Yes ; we add our own veterancy to the target (rather than just +1 level) IsPilot = Yes ; set the pilot flag because it's different than the veterancy crate and has extra checking End Body = ActiveBody ModuleTag_04 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_05 AutoAcquireEnemiesWhenIdle = Yes End Behavior = AutoFindHealingUpdate ModuleTag_06 ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Behavior = PilotFindVehicleUpdate ModuleTag_07 ; This update will have the unit go to a vehicle. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; MinHealth = 0.5 ; don't enter a vehicle less than 50% healthy. End Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor Locomotor = SET_NORMAL_UPGRADED BasicHumanLocomotorPlus25 Behavior = PhysicsBehavior ModuleTag_08 Mass = 5.0 End Behavior = LocomotorSetUpgrade ModuleTag_10 TriggeredBy = Upgrade_Veterancy_HEROIC End Behavior = SquishCollide ModuleTag_11 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PilotDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PilotDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_14 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object AirF_AmericaInfantryPathfinder ; *** ART Parameters *** SelectPortrait = SAPathfinder1_L ButtonImage = SAPathfinder1 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaChemicalSuits ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AIPFDR_SKN IdleAnimation = AIPFDR_SKL.AIPFDR_STA IdleAnimation = AIPFDR_SKL.AIPFDR_IDA AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX TransitionKey = TRANS_Standing End AliasConditionState = REALLYDAMAGED ConditionState = MOVING Animation = AIPFDR_SKL.AIPFDR_RNA 25 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Standing ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING REALLYDAMAGED ConditionState = FIRING_A Animation = AIPFDR_SKL.AIPFDR_ATB ; recoil in standing position AnimationMode = ONCE TransitionKey = TRANS_FiringA End AliasConditionState = FIRING_A MOVING AliasConditionState = FIRING_A MOVING REALLYDAMAGED AliasConditionState = FIRING_A REALLYDAMAGED ConditionState = BETWEEN_FIRING_SHOTS_A Animation = AIPFDR_SKL.AIPFDR_ATBST ; motionless in standing position AnimationMode = ONCE WaitForStateToFinishIfPossible = TRANS_FiringA End AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED AliasConditionState = RELOADING_A AliasConditionState = RELOADING_A REALLYDAMAGED ConditionState = DYING Animation = AIPFDR_SKL.AIPFDR_DTA AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = AIPFDR_SKL.AIPFDR_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIPFDR_SKL.AIPFDR_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIPFDR_SKL.AIPFDR_ADTA3 AnimationMode = ONCE TransitionKey = None End ConditionState = FREEFALL Animation = AIPFDR_SKL.AIPFDR_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIPFDR_SKL.AIPFDR_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ;our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = AIPFDR_SKL.AIPFDR_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ;our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Standing Animation = AIPFDR_SKL.AIPFDR_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Pathfinder Side = AmericaAirForceGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY USAPathfinderSniperRifle End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = InfantryDamageFX End VisionRange = 200 ShroudClearingRange = 400 Prerequisites Object = AirF_AmericaBarracks Science = SCIENCE_Pathfinder End BuildCost = 600 BuildTime = 10.0 ;in seconds ExperienceValue = 40 40 60 80 ;Experience point value at each level ExperienceRequired = 0 50 100 200 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaInfantryPathfinderCommandSet ; *** AUDIO Parameters *** VoiceSelect = PathfinderVoiceSelect VoiceMove = PathfinderVoiceMove VoiceGuard = PathfinderVoiceMove VoiceAttack = PathfinderVoiceAttack VoiceFear = PathfinderVoiceFear SoundStealthOn = StealthOn SoundStealthOff = StealthOff VoiceFear = PathfinderVoiceFear UnitSpecificSounds VoiceCreate = PathfinderVoiceCreate VoiceGarrison = PathfinderVoiceGarrison VoiceEnter = PathfinderVoiceMove VoiceEnterHostile = PathfinderVoiceMove VoiceGetHealed = PathfinderVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY STEALTH_GARRISON SCORE CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes Stealthed MoodAttackCheckRate = 250 End Behavior = AutoFindHealingUpdate ModuleTag_04 ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor Behavior = ExperienceScalarUpgrade ModuleTag_05 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = StealthDetectorUpdate ModuleTag_08 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = StealthUpdate ModuleTag_09 StealthDelay = 0 ; msec StealthForbiddenConditions = MOVING ; stays stealthy while attacking FriendlyOpacityMin = 30.0% FriendlyOpacityMax = 80.0% PulseFrequency = 500 ; msec MoveThresholdSpeed = 3 InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = SquishCollide ModuleTag_10 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PathfinderDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PathfinderDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object AirF_CountermeasureFlare Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = None ParticleSysBone = None CountermeasureFlareParticleSys End End KindOf = PROJECTILE Behavior = PhysicsBehavior ModuleTag_03 Mass = 5 End Behavior = AIUpdateInterface ModuleTag_04 ; nothing End Locomotor = SET_NORMAL CountermeasureFlareLocomotor Behavior = LifetimeUpdate ModuleTag_05 MinLifetime = 3000 ; min lifetime in msec MaxLifetime = 3000 ; max lifetime in msec End Geometry = Sphere GeometryIsSmall = Yes GeometryMajorRadius = 4.0 End ;------------------------------------------------------------------------------ Object AirF_ComancheBlades ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVComanche_D2 Animation = AVComanche_D2.AVComanche_D2 AnimationMode = LOOP End End ; ***DESIGN parameters *** DisplayName = OBJECT:Comanche Side = AmericaAirForceGeneral ; *** ENGINEERING Parameters *** KindOf = PRELOAD IMMOBILE Behavior = PhysicsBehavior ModuleTag_02 AllowBouncing = Yes End Behavior = LifetimeUpdate ModuleTag_03 MinLifetime = 1000 ; min lifetime in msec MaxLifetime = 1000 ; max lifetime in msec End Behavior = StealthUpdate ModuleTag_04 StealthDelay = 1500 ; msec StealthForbiddenConditions = FIRING_PRIMARY ATTACKING USING_ABILITY FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = No OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = StealthUpgrade ModuleTag_05 TriggeredBy = AirF_Upgrade_StealthComanche End End ;------------------------------------------------------------------------------ Object AirF_AmericaParachute ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_FAL AnimationMode = LOOP End ConditionState = PARACHUTING Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_OPN AnimationMode = ONCE End ConditionState = RUBBLE Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_DRP AnimationMode = ONCE End ; this is a weird state to resolve an ambiguity: sometimes ; we can have a "rubble" parachute momentarily, that doesn't ; know that it has finished parachuting yet... ConditionState = RUBBLE PARACHUTING Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_DRP AnimationMode = ONCE End End ; ***DESIGN parameters *** Side = AmericaAirForceGeneral EditorSorting = SYSTEM TransportSlotCount = 0 VisionRange = 300.0 ShroudClearingRange = 300 IsTrainable = No ;Can gain experience KindOf = PRELOAD PARACHUTE UNATTACKABLE ; *** AUDIO Parameters *** ; *** ENGINEERING Parameters *** Behavior = AIUpdateInterface ModuleTag_02 ; nothing End Locomotor = SET_NORMAL ParachuteLocomotor Locomotor = SET_FREEFALL FreeFallLocomotor Body = ActiveBody ModuleTag_03 MaxHealth = 100000.0 InitialHealth = 100000.0 End Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = ParachuteContain ModuleTag_05 PitchRateMax = 60 ; deg/sec RollRateMax = 60 ; deg/sec LowAltitudeDamping = 0.2 ; how much to damp swaying when we get "close" to the ground ParachuteOpenDist = 25.0 ; how far we have to fall 'till we open our 'chute AllowInsideKindOf = INFANTRY PARACHUTABLE ParachuteOpenSound = ParachuteOpen End Behavior = SlowDeathBehavior ModuleTag_06 SinkDelay = 1000 SinkRate = 1 ; in Dist/Sec DestructionDelay = 4000 End RadarPriority = NOT_ON_RADAR Geometry = CYLINDER GeometryMajorRadius = 15.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ;------------------------------------------------------------------------------ Object AirF_AmericaCrateParachute ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_FAL AnimationMode = LOOP End ConditionState = PARACHUTING Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_OPN AnimationMode = ONCE End ConditionState = RUBBLE Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_DRP AnimationMode = ONCE End ; this is a weird state to resolve an ambiguity: sometimes ; we can have a "rubble" parachute momentarily, that doesn't ; know that it has finished parachuting yet... ConditionState = RUBBLE PARACHUTING Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_DRP AnimationMode = ONCE End End ; ***DESIGN parameters *** Side = AmericaAirForceGeneral EditorSorting = SYSTEM TransportSlotCount = 0 VisionRange = 300.0 ShroudClearingRange = 300 IsTrainable = No ;Can gain experience KindOf = PRELOAD PARACHUTE UNATTACKABLE ; *** AUDIO Parameters *** ; *** ENGINEERING Parameters *** Behavior = AIUpdateInterface ModuleTag_02 ; nothing End Locomotor = SET_NORMAL CrateParachuteLocomotor Locomotor = SET_FREEFALL CrateFreeFallLocomotor Body = ActiveBody ModuleTag_03 MaxHealth = 100000.0 InitialHealth = 100000.0 End Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = ParachuteContain ModuleTag_05 PitchRateMax = 60 ; deg/sec RollRateMax = 60 ; deg/sec LowAltitudeDamping = 0.2 ; how much to damp swaying when we get "close" to the ground ParachuteOpenDist = 12.5 ; how far we have to fall 'till we open our 'chute AllowInsideKindOf = PARACHUTABLE ParachuteOpenSound = ParachuteOpen End Behavior = SlowDeathBehavior ModuleTag_06 SinkDelay = 1000 SinkRate = 1 ; in Dist/Sec DestructionDelay = 4000 End RadarPriority = NOT_ON_RADAR Geometry = CYLINDER GeometryMajorRadius = 15.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ;------------------------------------------------------------------------------ Object AirF_LargeParachute ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_FAL AnimationMode = LOOP End ConditionState = PARACHUTING Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_OPN AnimationMode = ONCE End ConditionState = RUBBLE Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_DRP AnimationMode = ONCE End ; this is a weird state to resolve an ambiguity: sometimes ; we can have a "rubble" parachute momentarily, that doesn't ; know that it has finished parachuting yet... ConditionState = RUBBLE PARACHUTING Model = PMparacht_SKNc Animation = PMparacht_SKL.PMparacht_DRP AnimationMode = ONCE End End ; ***DESIGN parameters *** EditorSorting = SYSTEM TransportSlotCount = 10 VisionRange = 300.0 ShroudClearingRange = 300 IsTrainable = No ;Can gain experience KindOf = PRELOAD PARACHUTE UNATTACKABLE ; *** AUDIO Parameters *** ; *** ENGINEERING Parameters *** Behavior = AIUpdateInterface ModuleTag_02 ; nothing End Locomotor = SET_NORMAL ParachuteLocomotor Locomotor = SET_FREEFALL FreeFallLocomotor Body = ActiveBody ModuleTag_03 MaxHealth = 100000.0 InitialHealth = 100000.0 End Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = ParachuteContain ModuleTag_05 PitchRateMax = 60 ; deg/sec RollRateMax = 60 ; deg/sec LowAltitudeDamping = 0.2 ; how much to damp swaying when we get "close" to the ground ParachuteOpenDist = 25.0 ; how far we have to fall 'till we open our 'chute AllowInsideKindOf = INFANTRY VEHICLE PARACHUTABLE ParachuteOpenSound = ParachuteOpen End Behavior = SlowDeathBehavior ModuleTag_06 SinkDelay = 1000 SinkRate = 1 ; in Dist/Sec DestructionDelay = 4000 End RadarPriority = NOT_ON_RADAR Geometry = CYLINDER GeometryMajorRadius = 15.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ;------------------------------------------------------------------------------ Object AirF_AmericaVehicleHumvee ; *** ART Parameters *** SelectPortrait = SAHummer_L ButtonImage = SAHummer UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining UpgradeCameo5 = Upgrade_AmericaTOWMissile Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = AVHUMMER Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01 WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX End ConditionState = REALLYDAMAGED Model = AVHUMMER_d Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01 WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX End ConditionState = WEAPONSET_PLAYER_UPGRADE Model = AVHUMMER Turret = TurretUp01 HideSubObject = Turret MuzzleFX01 ShowSubObject = TurretUp01 Housecolor03 WeaponFireFXBone = PRIMARY MuzzleUp WeaponMuzzleFlash = PRIMARY MuzzleFXUp WeaponFireFXBone = SECONDARY WeaponB WeaponLaunchBone = SECONDARY WeaponB WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End ConditionState = REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE Model = AVHUMMER_d Turret = TurretUp01 HideSubObject = Turret MuzzleFX01 ShowSubObject = TurretUp01 Housecolor03 WeaponFireFXBone = PRIMARY MuzzleUp WeaponMuzzleFlash = PRIMARY MuzzleFXUp WeaponFireFXBone = SECONDARY WeaponB WeaponLaunchBone = SECONDARY WeaponB WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 1.25 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:Humvee Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY HumveeGun Weapon = SECONDARY HumveeMissileWeaponAirDummy End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY HumveeGun Weapon = SECONDARY HumveeMissileWeapon Weapon = TERTIARY HumveeMissileWeaponAir PreferredAgainst = TERTIARY AIRCRAFT End ArmorSet Conditions = None Armor = HumveeArmor DamageFX = TruckDamageFX End BuildCost = 800 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 320 Prerequisites Object = AirF_AmericaWarFactory End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaVehicleHumveeCommandSet ; *** AUDIO Parameters *** VoiceSelect = HumveeVoiceSelect VoiceMove = HumveeVoiceMove VoiceGuard = HumveeVoiceMove VoiceAttack = HumveeVoiceAttack VoiceAttackAir = HumveeVoiceAttackTOW SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs ;TurretMoveStart = NoSound VoiceCreate = HumveeVoiceCreate TurretMoveLoop = TurretMoveLoop SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = HumveeVoiceCrush ; Required for the W3DTruckDraw module TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceUnload = HumveeVoiceUnload VoiceEnter = HumveeVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = TransportAIUpdate ModuleTag_03 Turret TurretTurnRate = 180 RecenterTime = 5000 ; how long to wait during idle before recentering ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY End AutoAcquireEnemiesWhenIdle = Yes MoodAttackCheckRate = 250 End Locomotor = SET_NORMAL HumveeLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = TransportContain ModuleTag_05 PassengersAllowedToFire = Yes Slots = 5 ; EnterSound = GarrisonEnter ; ExitSound = GarrisonExit DamagePercentToUnits = 100% ;10% AllowInsideKindOf = INFANTRY ExitDelay = 250 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting End Behavior = ObjectCreationUpgrade ModuleTag_06 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_07 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_14 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_08 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = WeaponSetUpgrade ModuleTag_09 TriggeredBy = Upgrade_AmericaTOWMissile End Behavior = ExperienceScalarUpgrade ModuleTag_10 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = SlowDeathBehavior ModuleTag_11 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 25 DestructionDelay = 1 OCL = INITIAL OCL_InitialHumveeDebris FX = FINAL FX_BattleMasterExplosionOneFinal OCL = FINAL OCL_FinalHumveeDebris End Behavior = DestroyDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End ; This is commented out per hotlist request 10/9 ML ; Behavior = CreateObjectDie ModuleTag_15 ; DeathTypes = ALL -CRUSHED -SPLATTED ; CreationList = AirF_OCL_AmericanRangerDebris01 ; ExemptStatus = HIJACKED ; End Behavior = EjectPilotDie ModuleTag_16 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED ; The following added out per hotlist request 10/9 as above ML VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute End Behavior = TransitionDamageFX ModuleTag_17 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 11.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;---------------------------------------------------------- Object AirF_AmericaVehicleTomahawk ; *** ART Parameters *** SelectPortrait = SACTomahawk_L ButtonImage = SACTomahawk UpgradeCameo1 = Upgrade_AmericaScoutDrone UpgradeCameo2 = Upgrade_AmericaBattleDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining ;UpgradeCameo5 = XXX Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes ProjectileBoneFeedbackEnabledSlots = PRIMARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset DefaultConditionState Model = AVTomahawk Turret = TURRET TurretPitch = TURRETEL WeaponLaunchBone = PRIMARY WeaponA WeaponHideShowBone = PRIMARY MISSILE End ConditionState = REALLYDAMAGED Model = AVTomahawk_D End AliasConditionState = RUBBLE TrackMarks = EXTnkTrack.tga End ; ***DESIGN parameters *** DisplayName = OBJECT:Tomahawk Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) BuildCost = 1300 BuildTime = 20.0 ;in seconds VisionRange = 180 ShroudClearingRange = 200 Prerequisites Object = AirF_AmericaWarFactory Object = AirF_AmericaStrategyCenter End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience WeaponSet Conditions = None Weapon = PRIMARY TomahawkMissileWeapon End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaVehicleTomahawkCommandSet ; *** AUDIO Parameters *** VoiceSelect = TomahawkVoiceSelect VoiceMove = TomahawkVoiceMove VoiceGuard = TomahawkVoiceMove VoiceAttack = TomahawkVoiceAttack SoundMoveStart = TomahawkMoveStart SoundMoveStartDamaged = TomahawkMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = TomahawkVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoopLoud SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = TomahawkVoiceCrush VoiceEnter = TomahawkVoiceMove VoiceBombard = TomahawkVoiceAttack End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 180.0 InitialHealth = 180.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 360 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 60 ; turn rate, in degrees per sec TurretPitchRate = 60 FirePitch = 70 ; Instead of aiming pitchwise at the target, it will aim here AllowsPitch = Yes ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = No NotWhileAttacking End Locomotor = SET_NORMAL TomahawkLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_AmericaVehicleTomahawkDie FX = FINAL FX_AmericaVehicleTomahawkDeathExplosion End Behavior = ObjectCreationUpgrade ModuleTag_06 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_07 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_15 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_08 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = ExperienceScalarUpgrade ModuleTag_09 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = CreateCrateDie ModuleTag SalvageData CrateData = SalvageCrateData End Behavior = DestroyDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End ; Behavior = FXListDie ; DeathTypes = ALL -CRUSHED -SPLATTED ; DeathFX = FX_GenericTankDeathEffect ; End ; Behavior = CreateObjectDie ; DeathTypes = ALL -CRUSHED -SPLATTED ; CreationList = OCL_GenericTankDeathEffect ; End Behavior = EjectPilotDie ModuleTag_13 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute End Behavior = TransitionDamageFX ModuleTag_14 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ; Also known as the Ambulance Object AirF_AmericaVehicleMedic ; *** ART Parameters *** SelectPortrait = SAAmbulance_L ButtonImage = SAAmbulance UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 ConditionState = NONE Model = AVAmbulance Turret = Turret TurretPitch = TurretEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = REALLYDAMAGED Model = AVAmbulance_D Turret = Turret TurretPitch = TurretEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = RUBBLE Model = AVAmbulance_D End TrackMarks = EXTireTrack.tga OkToChangeModelColor = Yes Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:Medic Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet ;*** Fully automated and driven by the CleanupHazardUpdate *** Conditions = None Weapon = PRIMARY AmbulanceCleanHazardWeapon AutoChooseSources = PRIMARY NONE End ArmorSet Conditions = None Armor = ToxinTruckArmor DamageFX = TruckDamageFX End BuildCost = 700 BuildTime = 10.0 ;in seconds VisionRange = 100 ShroudClearingRange = 400 Prerequisites Object = AirF_AmericaWarFactory End ExperienceValue = 50 50 50 50 ;Experience point value at each level IsTrainable = No CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaVehicleAmbulanceCommandSet ; *** AUDIO Parameters *** VoiceSelect = AmbulanceVoiceSelect VoiceMove = AmbulanceVoiceMove VoiceGuard = AmbulanceVoiceMove VoiceAttack = AmbulanceVoiceDetox SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = AmbulanceVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceCrush = AmbulanceVoiceCrush VoiceEnter = AmbulanceVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = CleanupHazardUpdate ModuleTag_03 WeaponSlot = PRIMARY ScanRate = 1000 ScanRange = 100.0 ;If this range exceeds the AmbulanceCleanHazardWeapon AttackRange, it'll move! End ;Can be ordered to clean up a larger area with the ability to move around at an extended range. Behavior = CleanupAreaPower ModuleTag_04 SpecialPowerTemplate = SpecialAbilityAmbulanceCleanupArea MaxMoveDistanceFromLocation = 300.0 ;allows the unit to move around while cleaning up InitiateSound = AmbulanceVoiceDetox End Behavior = TransportAIUpdate ModuleTag_05 AutoAcquireEnemiesWhenIdle = No ;CleanupHazardUpdate handles this... Turret TurretTurnRate = 180 TurretPitchRate = 180 AllowsPitch = Yes MinPhysicalPitch = -20 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) TurretFireAngleSweep = PRIMARY 25 ControlledWeaponSlots = PRIMARY End End Locomotor = SET_NORMAL HumveeLocomotor Behavior = TransportContain ModuleTag_06 Slots = 3 HealthRegen%PerSec = 25 DamagePercentToUnits = 10% AllowInsideKindOf = INFANTRY AllowAlliesInside = Yes AllowNeutralInside = No AllowEnemiesInside = No ExitDelay = 250 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting End Behavior = PhysicsBehavior ModuleTag_07 Mass = 50.0 End Behavior = SlowDeathBehavior ModuleTag_08 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 0 FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_FinalAmbulanceDebris End Behavior = ObjectCreationUpgrade ModuleTag_09 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_10 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_19 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_11 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = DestroyDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = FXListDie ModuleTag_15 DeathTypes = ALL -CRUSHED -SPLATTED DeathFX = FX_GenericTankDeathEffect End Behavior = CreateCrateDie ModuleTag_16 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = ExperienceScalarUpgrade ModuleTag_17 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = TransitionDamageFX ModuleTag_18 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = AutoHealBehavior ModuleTag_22 HealingAmount = 4 HealingDelay = 1000 ; msec Radius = 100.0f StartsActive = Yes KindOf = INFANTRY End Behavior = AutoHealBehavior ModuleTag_23 HealingAmount = 5 HealingDelay = 1000 ; msec Radius = 100.0f StartsActive = Yes KindOf = VEHICLE ForbiddenKindOf = AIRCRAFT SkipSelfForHealing = Yes End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 12.0 ; height set to allow clear clipping of projectile streams GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ;------------------------------------------------------------------------------ Object AirF_AmericaVehicleBattleDrone ; *** ART Parameters *** SelectPortrait = SABattleDrone_L ButtonImage = SABattleDrone UpgradeCameo1 = Upgrade_AmericaDroneArmor ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE ;MAIN CHASSIS Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVBATTLEDR Animation = AVBATTLEDR.AVBATTLEDR AnimationMode = LOOP Turret = Turret01 TurretPitch = TurretEL01 WeaponMuzzleFlash = PRIMARY TurretFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = REALLYDAMAGED Model = AVBATTLEDR_D Animation = AVBATTLEDR_D.AVBATTLEDR_D AnimationMode = LOOP End End ;EXTENDING ARM (FOR REPAIRING) Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes DefaultConditionState Model = AVBATTLEDR_A End ;Unloading the arm (before starting to repair) ConditionState = UNPACKING Animation = AVBATTLEDR_A1.AVBATTLEDR_A1 AnimationMode = ONCE End ;Loading the arm (after reparing complete) ConditionState = PACKING Animation = AVBATTLEDR_A1.AVBATTLEDR_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ;Repair extending animation 1 (using bogus condition states -- doesn't justify making a whole new set) ConditionState = FIRING_B Animation = AVBATTLEDR_A2.AVBATTLEDR_A2 AnimationMode = ONCE End ;Repair retracting animation 1 (using bogus condition states -- doesn't justify making a whole new set) ConditionState = FIRING_C Animation = AVBATTLEDR_A2.AVBATTLEDR_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:BattleDrone Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY BattleDroneMachineGun End ArmorSet Conditions = None Armor = TankArmor DamageFX = SmallTankDamageFX End BuildCost = 200 BuildTime = 5.0 ;in seconds VisionRange = 150 ShroudClearingRange = 150 Prerequisites Object = AirF_AmericaWarFactory End ExperienceValue = 10 10 10 10 ;Experience point value at each level IsTrainable = No ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE NO_SELECT Body = ActiveBody ModuleTag_03 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_04 Turret TurretTurnRate = 360 // turn rate, in degrees per sec TurretPitchRate = 360 MinPhysicalPitch = -75 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) AllowsPitch = Yes ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL BattleDroneLocomotor Locomotor = SET_PANIC BattleDronePanicLocomotor ;used for repairing master (zippy) Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 KillWhenRestingOnGround = Yes AllowBouncing = No End Behavior = MaxHealthUpgrade ModuleTag_06 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 50.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = SlavedUpdate ModuleTag_07 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. AttackWanderRange = 10 ;How far I'm allowed to wander from target. ScoutRange = 75 ;How far away from master I'm allowed when master is moving. ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. RepairRange = 8 ;How far I can zip around while repair (only moves when he stops welding) RepairMinAltitude = 18.0 ;My minimum repair hover altitude. RepairMaxAltitude = 24.0 ;My maximum repair hover altitude. RepairRatePerSecond = 10.0 ;How many health points can I repair per second. RepairWhenBelowHealth% = 60 ;How low should my master's health be (in %) before I should prioritize repairing. RepairMinReadyTime = 300 RepairMaxReadyTime = 750 RepairMinWeldTime = 250 RepairMaxWeldTime = 500 RepairWeldingSys = BlueSparks RepairWeldingFXBone = Muzzle02 StayOnSameLayerAsMaster = Yes End Behavior = DestroyDie ModuleTag_08 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_09 DeathTypes = ALL CreationList = OCL_AmericaBattleDroneExplode End Behavior = TransitionDamageFX ModuleTag_10 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall End Behavior = FXListDie ModuleTag_11 DeathTypes = ALL DeathFX = FX_AmericaBattleDroneExplode End Behavior = UpgradeDie ModuleTag_12 ;This frees the object based upgrade for the producer object. DeathTypes = ALL UpgradeToRemove = Upgrade_AmericaBattleDrone ModuleTag_13 End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5 GeometryMinorRadius = 5 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaVehicleScoutDrone ; *** ART Parameters *** SelectPortrait = SAScout_L ButtonImage = SAScout UpgradeCameo1 = Upgrade_AmericaDroneArmor ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = AVScoutDr Animation = AVScoutDr.AVScoutDr AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = AVScoutDr_d Animation = AVScoutDr_d.AVScoutDr_d AnimationMode = LOOP End End ; ***DESIGN parameters *** DisplayName = OBJECT:ScoutDrone Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = TankArmor DamageFX = SmallTankDamageFX End BuildCost = 100 BuildTime = 5.0 ;in seconds VisionRange = 150 ShroudClearingRange = 500 IsTrainable = No ;Can gain experience ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE DRONE NO_SELECT Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 60 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL DroneLocomotor Behavior = StealthDetectorUpdate ModuleTag_04 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 KillWhenRestingOnGround = Yes AllowBouncing = No End Behavior = SlavedUpdate ModuleTag_06 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. AttackWanderRange = 10 ;How far I'm allowed to wander from target. ScoutRange = 75 ;How far away from master I'm allowed when master is moving. ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. DistToTargetToGrantRangeBonus = 20 ;How close I have to be to the master's target in order to grant master a range bonus. StayOnSameLayerAsMaster = Yes End Behavior = MaxHealthUpgrade ModuleTag_07 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 25.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = DestroyDie ModuleTag_08 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_09 DeathTypes = ALL CreationList = OCL_AmericaScoutDroneExplode End Behavior = FXListDie ModuleTag_10 DeathTypes = ALL DeathFX = FX_AmericaScoutDroneExplode End Behavior = TransitionDamageFX ModuleTag_11 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall End Behavior = UpgradeDie ModuleTag_12 ;This frees the object based upgrade for the producer object. DeathTypes = ALL UpgradeToRemove = Upgrade_AmericaScoutDrone ModuleTag_13 End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5.0 GeometryMinorRadius = 6.0 GeometryHeight = 3.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaVehicleHellfireDrone ; *** ART Parameters *** SelectPortrait = SAHellfire_L ButtonImage = SAHellfire UpgradeCameo1 = Upgrade_AmericaDroneArmor ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVScoutDr WeaponLaunchBone = PRIMARY WeaponA End ConditionState = REALLYDAMAGED Model = AVScoutDr_d End End ; ***DESIGN parameters *** DisplayName = OBJECT:HellfireDrone Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = TankArmor DamageFX = SmallTankDamageFX End BuildCost = 500 BuildTime = 5.0 ;in seconds VisionRange = 100 ShroudClearingRange = 500 IsTrainable = No ;Can gain experience ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound WeaponSet Conditions = NONE Weapon = PRIMARY HellfireMissileWeapon End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE NO_SELECT Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 360 // turn rate, in degrees per sec TurretPitchRate = 360 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL HellfireDroneLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 KillWhenRestingOnGround = Yes AllowBouncing = No End Behavior = SlavedUpdate ModuleTag_06 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. AttackWanderRange = 10 ;How far I'm allowed to wander from target. ScoutRange = 75 ;How far away from master I'm allowed when master is moving. ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. StayOnSameLayerAsMaster = Yes End Behavior = MaxHealthUpgrade ModuleTag_07 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 25.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = DestroyDie ModuleTag_08 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_09 DeathTypes = ALL CreationList = OCL_AmericaScoutDroneExplode End Behavior = FXListDie ModuleTag_10 DeathTypes = ALL DeathFX = FX_AmericaScoutDroneExplode End Behavior = TransitionDamageFX ModuleTag_11 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall End Behavior = UpgradeDie ModuleTag_12 ;This frees the object based upgrade for the producer object. DeathTypes = ALL UpgradeToRemove = Upgrade_AmericaHellfireDrone ModuleTag_13 End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5.0 GeometryMinorRadius = 6.0 GeometryHeight = 3.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaVehicleSpyDrone ; *** ART Parameters *** SelectPortrait = SAScout_L ButtonImage = SAScout UpgradeCameo1 = Upgrade_AmericaDroneArmor Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = AVSpyDrone Animation = AVSpyDrone.AVSpyDrone AnimationMode = LOOP End ; Damage state waiting for pristine's approval (or may just not need one) ; ConditionState = REALLYDAMAGED ; Model = AVSpyDrone_d ; Animation = AVSpyDrone_d.AVSpyDrone_d ; AnimationMode = LOOP ; End End ; ***DESIGN parameters *** DisplayName = OBJECT:SpyDrone Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = SmallTankDamageFX End VisionRange = 250 ShroudClearingRange = 0; Dynamic range below IsTrainable = No ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SCORE DRONE SELECTABLE INERT NO_SELECT Body = ActiveBody ModuleTag_02 MaxHealth = 200.0 InitialHealth = 200.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = No End Locomotor = SET_NORMAL SpyDroneLocomtor Behavior = DynamicShroudClearingRangeUpdate ModuleTag_04 FinalVision = 250.0 ChangeInterval = 50 ShrinkDelay = 2000 ShrinkTime = 1000 GrowDelay = 0 GrowTime = 1000 GrowInterval = 10 ; Faster than most GridDecalTemplate Texture = EXGrid Style = SHADOW_ADDITIVE_DECAL OpacityMin = 50% OpacityMax = 100% OpacityThrobTime = 500 Color = R:32 G:64 B:128 A:0 //dim blue, additive End End Behavior = StealthDetectorUpdate ModuleTag_05 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = PhysicsBehavior ModuleTag_06 Mass = 50.0 End Behavior = DestroyDie ModuleTag_07 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_08 DeathTypes = ALL CreationList = OCL_AmericaScoutDroneExplode End Behavior = StealthUpdate ModuleTag_09 StealthDelay = 0 ; msec StealthForbiddenConditions = NONE InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = MaxHealthUpgrade ModuleTag_10 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 50.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5.0 GeometryMinorRadius = 6.0 GeometryHeight = 3.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;USA Construction Dozer or USDozer Object AirF_AmericaVehicleDozer ; *** ART Parameters *** SelectPortrait = SACDozer_L ButtonImage = SACDozer ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVCONSTDOZ_A ParticleSysBone = EXHAUSTFX01 DozerSmokeLight WaitForStateToFinishIfPossible = TRANS_DIGGING End ConditionState = PREATTACK_A Animation = AVCONSTDOZ_A.AVCONSTDOZ_A AnimationMode = ONCE ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy ParticleSysBone = DIRTFX01 DozerDirtFall ;gush of dirt TransitionKey = TRANS_DIGGING End ConditionState = MOVING ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy WaitForStateToFinishIfPossible = TRANS_DIGGING End ConditionState = REALLYDAMAGED RUBBLE Model = AVCONSTDOZ_AD ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED End ConditionState = PREATTACK_A REALLYDAMAGED RUBBLE Model = AVCONSTDOZ_AD Animation = AVCONSTDOZ_AD.AVCONSTDOZ_AD AnimationMode = ONCE ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy TransitionKey = TRANS_DIGGING_DAMAGED End ConditionState = MOVING REALLYDAMAGED RUBBLE Model = AVCONSTDOZ_AD ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED End TrackMarks = EXTireTrack2.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = TIRE01 RightFrontTireBone = TIRE02 LeftRearTireBone = TIRE03 RightRearTireBone = TIRE04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Dozer Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 5 ;how many "slots" we take in a transport (0 == not transportable) BuildCost = 1000 BuildTime = 5.0 ; in seconds VisionRange = 200 ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY None End WeaponSet Conditions = MINE_CLEARING_DETAIL Weapon = PRIMARY DozerMineDisarmingWeapon End ArmorSet Conditions = None Armor = DozerArmor ;Special Explosion-Proof Armor DamageFX = TankDamageFX End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AirF_AmericaDozerCommandSet ; *** AUDIO Parameters *** VoiceSelect = DozerUSAVoiceSelect VoiceMove = DozerUSAVoiceMove VoiceGuard = DozerUSAVoiceMove VoiceTaskComplete = DozerUSAVoiceBuildComplete SoundMoveStart = DozerUSAMoveStart SoundMoveStartDamaged = DozerUSAMoveStart UnitSpecificSounds VoiceCreate = DozerUSAVoiceCreate VoiceNoBuild = DozerUSAVoiceBuildNot VoiceCrush = DozerUSAVoiceCrush VoiceRepair = DozerUSAVoiceRepair VoiceDisarm = DozerUSAVoiceClearMine TruckLandingSound = NoSound TruckPowerslideSound = NoSound VoiceEnter = DozerUSAVoiceMove VoiceBuildResponse = DozerUSAVoiceBuild End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DOZER Body = ActiveBody ModuleTag_02 MaxHealth = 250.0 InitialHealth = 250.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 500 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = DozerAIUpdate ModuleTag_03 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second BoredTime = 5000 ; in milliseconds BoredRange = 150 ; when bored, we look this far away to do something ; the only "enemies" that workers can acquire are mines, to be disarmed... AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL AmericaVehicleDozerLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 75.0 End Behavior = StealthDetectorUpdate ModuleTag_05 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. ExtraRequiredKindOf = MINE ; we can only detect MINES, not other stealthed things End Behavior = TransitionDamageFX ModuleTag_06 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_07 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 100 DestructionDelay = 1500 DestructionDelayVariance = 600 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_AmericaDozerExplode FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_22 ;;;;;;;; End Behavior = FXListDie ModuleTag_23 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = DestroyDie ModuleTag_24 DeathTypes = NONE +CRUSHED +SPLATTED End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 15.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;Sentry Drone Object AirF_AmericaVehicleSentryDrone ; *** ART Parameters *** SelectPortrait = SAsentry_L ButtonImage = SAsentry UpgradeCameo1 = Upgrade_AmericaSentryDroneGun UpgradeCameo2 = Upgrade_AmericaDroneArmor ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 InitialRecoilSpeed = 10 MaxRecoilDistance = 1.5 RecoilSettleSpeed = 3 OkToChangeModelColor = Yes DefaultConditionState Model = AVSENTRY Animation = AVSENTRY.AVSENTRY AnimationMode = LOOP Turret = TURRET01 HideSubObject = TURRETUP09 ;Hide controlled turret WeaponFireFXBone = PRIMARY TurretFX WeaponMuzzleFlash = PRIMARY TurretFX WeaponRecoilBone = PRIMARY TurretUp End ConditionState = REALLYDAMAGED Turret = TURRET01 Model = AVSENTRY_D Animation = AVSENTRY_D.AVSENTRY_D AnimationMode = LOOP HideSubObject = TURRETUP09 ;Hide controlled turret End ConditionState = RUBBLE Model = AVSENTRY_D1 HideSubObject = TURRETUP09 ;Hide controlled turret End AliasConditionState = RUBBLE WEAPONSET_PLAYER_UPGRADE ConditionState = WEAPONSET_PLAYER_UPGRADE Model = AVSENTRY Animation = AVSENTRY.AVSENTRY AnimationMode = LOOP ShowSubObject = TURRETUP09 End ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = AVSENTRY_D Animation = AVSENTRY_D.AVSENTRY_D AnimationMode = LOOP ShowSubObject = TURRETUP09 End TrackMarks = EXTnkTrack.tga TreadDebrisLeft = SentryDroneTrackDebrisDirtLeft TreadDebrisRight = SentryDroneTrackDebrisDirtRight TreadAnimationRate = 4.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:SentryDrone Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY None End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY SentryDroneGun End ArmorSet Conditions = None Armor = SentryDroneArmor DamageFX = TruckDamageFX End BuildCost = 850 BuildTime = 10.0 ;in seconds VisionRange = 200 ShroudClearingRange = 350 Prerequisites Object = AirF_AmericaWarFactory End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = No ;Can gain experience CrusherLevel = 0 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaVehicleSentryDroneCommandSet ; *** AUDIO Parameters *** VoiceSelect = SentryDroneVoiceSelect VoiceMove = SentryDroneVoiceMove VoiceGuard = SentryDroneVoiceMove VoiceAttack = SentryDroneVoiceMove SoundMoveStart = NoSound SoundMoveStartDamaged = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = NoSound TurretMoveStart = NoSound TurretMoveLoop = NoSound VoiceEnter = NoSound Deploy = NoSound Undeploy = NoSound End Behavior = WeaponSetUpgrade ModuleTag_03 TriggeredBy = Upgrade_AmericaSentryDroneGun End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE ATTACK_NEEDS_LINE_OF_SIGHT DRONE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = MaxHealthUpgrade ModuleTag_DroneArmorBonus TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 75.0 ChangeType = ADD_CURRENT_HEALTH_TOO End Behavior = DeployStyleAIUpdate ModuleTag_04 Turret TurretTurnRate = 180 TurretPitchRate = 180 FirePitch = 0 ; Instead of aiming pitchwise at the target, it will aim here AllowsPitch = No RecenterTime = 1000 ; how long to wait during idle before recentering ControlledWeaponSlots = PRIMARY NaturalTurretAngle = 0 InitiallyDisabled = No MinIdleScanInterval = 250 ; in milliseconds MaxIdleScanInterval = 250 ; in milliseconds MinIdleScanAngle = 0 ; in degrees off the natural turret angle MaxIdleScanAngle = 360 ; in degrees off the natural turret angle End AutoAcquireEnemiesWhenIdle = Yes ;Stealthed ; Means "Yes when idle, even if I am stealthed" PackTime = 1000 UnpackTime = 1000 TurretsFunctionOnlyWhenDeployed = Yes TurretsMustCenterBeforePacking = Yes End Locomotor = SET_NORMAL SentryLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 End Behavior = StealthUpdate ModuleTag_06 StealthDelay = 2000 ; msec StealthForbiddenConditions = FIRING_PRIMARY MOVING HintDetectableConditions = IS_FIRING_WEAPON FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = SlowDeathBehavior ModuleTag_07 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_AmericaVehicleSentryDroneDie FX = FINAL FX_AmericaVehicleTomahawkDeathExplosion End Behavior = DestroyDie ModuleTag_08 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_10 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_11 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = StealthDetectorUpdate ModuleTag_12 DetectionRate = 900 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 225 ;Dustin, enable this for independant balancing! End ; Behavior = GrantUpgradeCreate ModuleTag_13 ; UpgradeToGrant = Upgrade_AmericaSentryDroneGun ; ExemptStatus = UNDER_CONSTRUCTION ; End Geometry = BOX GeometryMajorRadius = 9.0 GeometryMinorRadius = 7.0 GeometryHeight = 11.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaTankAvengerLaserTurret ; Seperate turret object so it can attack independantly ; *** ART Parameters *** SelectPortrait = SNPropSpeaker_L ButtonImage = SNPropSpeaker UpgradeCameo1 = Upgrade_Nationalism UpgradeCameo2 = Upgrade_ChinaUraniumShells UpgradeCameo3 = Upgrade_ChinaNuclearTanks ;UpgradeCameo4 = NONE UpgradeCameo5 = Upgrade_ChinaOverlordPropagandaTower Draw = W3DDependencyModelDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = TurretFX01 ExtraPublicBone = TurretFX02 ExtraPublicBone = TURRET01 ExtraPublicBone = TURRETEL ExtraPublicBone = TURRETEL01 AttachToBoneInContainer = FIREPOINT01 DefaultConditionState Model = AVAVNGER_G Turret = TURRET01 TurretPitch = TURRETEL01 End ConditionState = REALLYDAMAGED Model = AVAVNGER_GD Turret = TURRET01 TurretPitch = TURRETEL01 End End PlacementViewAngle = -45 ; ***DESIGN parameters *** Side = AmericaAirForceGeneral EditorSorting = SYSTEM TransportSlotCount = 1 WeaponSet Conditions = None Weapon = PRIMARY AvengerAirLaserOne Weapon = SECONDARY AvengerAirLaserTwo End ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Avenger with his damage module End VisionRange = 0 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY SECONDARY TurretTurnRate = 180 // turn rate, in degrees per sec TurretPitchRate = 180 AllowsPitch = Yes NaturalTurretPitch = 45 End AutoAcquireEnemiesWhenIdle = Yes MoodAttackCheckRate = 500 ; default is 2000 End Behavior = DestroyDie ModuleTag_05 ; End Geometry = BOX GeometryMajorRadius = 6.0 GeometryMinorRadius = 6.0 GeometryHeight = 10.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaTankAvenger ; *** ART Parameters *** SelectPortrait = SAAvnger_L ButtonImage = SAAvnger UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining ;UpgradeCameo5 = NONE Draw = W3DOverlordTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = TurretFX03 ExtraPublicBone = LazerSpot01 ExtraPublicBone = LazerSpot02 DefaultConditionState Model = AVAVNGER HideSubObject = TURRET01 End ConditionState = REALLYDAMAGED Model = AVAVNGER_D HideSubObject = TURRET01 End ConditionState = RUBBLE Model = AVAVNGER_D1 End ;When a bombtruck disguises as an avenger, show the turret! ConditionState = DISGUISED Model = AVAVNGER ShowSubObject = TURRET01 End ConditionState = REALLYDAMAGED DISGUISED Model = AVAVNGER_D ShowSubObject = TURRET01 ;Hide controlled turret End TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0.0 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:Avenger Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY AvengerTargetDesignator Weapon = SECONDARY AvengerAirLaserDummy End ArmorSet Conditions = None Armor = AntiAirVehicle DamageFX = TankDamageFX End BuildCost = 2000 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = AirF_AmericaWarFactory Object = AirF_AmericaStrategyCenter End ExperienceValue = 100 100 200 400 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaTankAvengerCommandSet ; *** AUDIO Parameters *** VoiceSelect = AvengerVoiceSelect VoiceMove = AvengerVoiceMove VoiceGuard = AvengerVoiceMove VoiceAttack = AvengerVoicePaint VoiceAttackAir = AvengerVoiceAttack SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = AvengerVoiceCreate TurretMoveLoop = NoSound SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = NoSound VoiceEnter = AvengerVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL AvengerLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End ; Turret fly off death Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 ; ModifierBonusPerOverkillPercent = 30% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_AvengerTankDeathEffect End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_06 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_AvengerTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One WeaponTemplate = AvengerPointDefenseLaserOne PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 0 ScanRange = 200.0 PredictTargetVelocityFactor = 1.0 End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_Two WeaponTemplate = AvengerPointDefenseLaserTwo PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 100 ScanRange = 200.0 PredictTargetVelocityFactor = 1.0 End Behavior = OverlordContain ModuleTag_OverlordContain Slots = 1 DamagePercentToUnits = 100% AllowInsideKindOf = PORTABLE_STRUCTURE PassengersAllowedToFire = Yes PayloadTemplateName = AmericaTankAvengerLaserTurret ExperienceSinkForRider = Yes ; I get the Exp for things my turret friend kills End Behavior = ObjectCreationUpgrade ModuleTag_08 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_09 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_19 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_10 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = ExperienceScalarUpgrade ModuleTag_11 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = TransitionDamageFX ModuleTag_12 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = DestroyDie ModuleTag_15 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = CreateCrateDie ModuleTag_16 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = EjectPilotDie ModuleTag_17 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = FlammableUpdate ModuleTag_22 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = MaxHealthUpgrade ModuleTag_23 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaTankMicrowave ; *** ART Parameters *** SelectPortrait = SAThunderBolt_L ButtonImage = SAThunderBolt UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining UpgradeCameo5 = Upgrade_AmericaCompositeArmor Draw = W3DTankDraw ModuleTag_01 ExtraPublicBone = WEAPON02 OkToChangeModelColor = Yes ConditionState = NONE Model = AVTHUNDRBLT ParticleSysBone = PROJECTORGLOW09 MicrowaveLenzflare ParticleSysBone = NONE MicrowaveRotisserie End ConditionState = USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C Model = AVTHUNDRBLT End ConditionState = REALLYDAMAGED RUBBLE Model = AVTHUNDRBLT_D ParticleSysBone = PROJECTORGLOW09 MicrowaveLenzflare ParticleSysBone = NONE MicrowaveRotisserie End ConditionState = REALLYDAMAGED RUBBLE USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C Model = AVTHUNDRBLT_D End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 4.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:Microwave Side = AmericaAirForceGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End WeaponSet Conditions = None ; Weapon = PRIMARY MicrowaveTankVehicleDisabler Weapon = PRIMARY MicrowaveTankBuildingDisabler ;SECONDARY MicrowaveTankBuildingDisabler Weapon = SECONDARY MicrowaveTankBuildingClearer ;TERTIARY MicrowaveTankBuildingClearer End BuildCost = 800 BuildTime = 10.0 ;in seconds VisionRange = 200 ShroudClearingRange = 300 Prerequisites Object = AirF_AmericaWarFactory Object = AirF_AmericaStrategyCenter End ExperienceValue = 100 100 200 400 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaTankMicrowaveCommandSet ; *** AUDIO Parameters *** VoiceSelect = MicrowaveTankVoiceSelect VoiceMove = MicrowaveTankVoiceMove VoiceGuard = MicrowaveTankVoiceMove VoiceAttack = MicrowaveTankVoiceAttack SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = MicrowaveTankVoiceCreate VoiceEnter = MicrowaveTankVoiceMove SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = MicrowaveTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 480 InitialHealth = 480 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 960 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL CrusaderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End ; Turret fly off death Behavior = SlowDeathBehavior ModuleTag_10 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_MicrowaveTankDeath FX = FINAL FX_GenericTankDeathExplosion End Behavior = TransitionDamageFX ModuleTag_12 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = DestroyDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_15 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_MicrowaveTankDeath_CrushEffect End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = EjectPilotDie ModuleTag_17 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = MaxHealthUpgrade ModuleTag_18 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = ExperienceScalarUpgrade ModuleTag_Upgrade01 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = ObjectCreationUpgrade ModuleTag_Upgrade02 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_Upgrade03 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_Upgrade04 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_Prod01 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = FireWeaponUpdate ModuleTag_22 Weapon = MicrowaveTankEmitterWeapon ExclusiveWeaponDelay = 1000 ; If we fire a real weapon, we turn this module off for this long End Behavior = CommandButtonHuntUpdate ModuleTag_24 ; allows use of command button hunt script with this unit. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaCommandCenter ; *** ART Parameters *** SelectPortrait = SAComCentr_L ButtonImage = SAComCentr ; ----------------- Main Building ------------------------ Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ****************************************** ConditionState = NONE Model = ABBtCmdAFG Animation = ABBtCmdAFG.ABBtCmdAFG AnimationMode = LOOP End ConditionState = DAMAGED Model = ABBtCmdHQA_D Animation = ABBtCmdHQA_D.ABBtCmdHQA_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = ABBtCmdHQA_E Animation = ABBtCmdHQA_E.ABBtCmdHQA_E AnimationMode = LOOP End ; night **************************************** ConditionState = NIGHT Model = ABBtCmdHQA_N Animation = ABBtCmdHQA_N.ABBtCmdHQA_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = ABBtCmdHQA_DN Animation = ABBtCmdHQA_DN.ABBtCmdHQA_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABBtCmdHQA_EN Animation = ABBtCmdHQA_EN.ABBtCmdHQA_EN AnimationMode = LOOP End ; Snow ConditionState = SNOW Model = ABBtCmdHQA_S Animation = ABBtCmdHQA_S.ABBtCmdHQA_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABBtCmdHQA_DS Animation = ABBtCmdHQA_DS.ABBtCmdHQA_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABBtCmdHQA_ES Animation = ABBtCmdHQA_ES.ABBtCmdHQA_ES AnimationMode = LOOP End ; night snow **************************************** ConditionState = NIGHT SNOW Model = ABBtCmdHQA_NS Animation = ABBtCmdHQA_NS.ABBtCmdHQA_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = ABBtCmdHQA_DNS Animation = ABBtCmdHQA_DNS.ABBtCmdHQA_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABBtCmdHQA_ENS Animation = ABBtCmdHQA_ENS.ABBtCmdHQA_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQA Animation = ABBtCmdHQA.ABBtCmdHQA AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABBtCmdHQA_D Animation = ABBtCmdHQA_D.ABBtCmdHQA_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABBtCmdHQA_E Animation = ABBtCmdHQA_E.ABBtCmdHQA_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABBtCmdHQA_N Animation = ABBtCmdHQA_N.ABBtCmdHQA_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABBtCmdHQA_DN Animation = ABBtCmdHQA_DN.ABBtCmdHQA_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABBtCmdHQA_EN Animation = ABBtCmdHQA_EN.ABBtCmdHQA_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABBtCmdHQA_S Animation = ABBtCmdHQA_S.ABBtCmdHQA_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABBtCmdHQA_DS Animation = ABBtCmdHQA_DS.ABBtCmdHQA_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABBtCmdHQA_ES Animation = ABBtCmdHQA_ES.ABBtCmdHQA_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABBtCmdHQA_NS Animation = ABBtCmdHQA_NS.ABBtCmdHQA_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABBtCmdHQA_DNS Animation = ABBtCmdHQA_DNS.ABBtCmdHQA_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABBtCmdHQA_ENS Animation = ABBtCmdHQA_ENS.ABBtCmdHQA_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************************************************************************************************** End ; ----------------- the factory door ------------------- Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABBtCmdHQ_A7D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT DAMAGED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABBtCmdHQ_A7E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** ConditionState = DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_CLOSING Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_CLOSING DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = MANUAL Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = MANUAL Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ------------ Radar Extending ----------------- Draw = W3DModelDraw ModuleTag_03 ConditionState = None Model = ABBtCmdHQ_AC Animation = ABBtCmdHQ_AC.ABBtCmdHQ_AC AnimationMode = LOOP End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = DAMAGED Model = ABBtCmdHQ_ACD Animation = ABBtCmdHQ_ACD.ABBtCmdHQ_ACD AnimationMode = LOOP End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_ACE Animation = ABBtCmdHQ_ACE.ABBtCmdHQ_ACE AnimationMode = LOOP End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_AC Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABBtCmdHQ_ACD Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABBtCmdHQ_ACE Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- The Door ------------------------ Draw = W3DModelDraw ModuleTag_04 DefaultConditionState Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = NIGHT SNOW DOOR_1_OPENING ConditionState = DOOR_1_OPENING DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_CLOSING Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DOOR_1_CLOSING ConditionState = DOOR_1_CLOSING DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_CLOSING DAMAGED ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_OPEN Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN DAMAGED ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABBtCmdHQ_A7D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABBtCmdHQ_A7E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A4 Animation = ABBtCmdHQ_A4.ABBtCmdHQ_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A4N Animation = ABBtCmdHQ_A4N.ABBtCmdHQ_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A4S Animation = ABBtCmdHQ_A4S.ABBtCmdHQ_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A4SN Animation = ABBtCmdHQ_A4SN.ABBtCmdHQ_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBtCmdHQ_A4 Animation = ABBtCmdHQ_A4.ABBtCmdHQ_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBtCmdHQ_A4N Animation = ABBtCmdHQ_A4N.ABBtCmdHQ_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBtCmdHQ_A4S Animation = ABBtCmdHQ_A4S.ABBtCmdHQ_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBtCmdHQ_A4SN Animation = ABBtCmdHQ_A4SN.ABBtCmdHQ_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBtCmdHQ_A4 Animation = ABBtCmdHQ_A4.ABBtCmdHQ_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A4N Animation = ABBtCmdHQ_A4N.ABBtCmdHQ_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBtCmdHQ_A4S Animation = ABBtCmdHQ_A4S.ABBtCmdHQ_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW NIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A4SN Animation = ABBtCmdHQ_A4SN.ABBtCmdHQ_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_06 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABBtCmdHQ_A6 Animation = ABBtCmdHQ_A6.ABBtCmdHQ_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark ParticleSysBone = Sparks08 BuildUpBlueSpark ParticleSysBone = Sparks09 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABBtCmdHQ_A6N Animation = ABBtCmdHQ_A6N.ABBtCmdHQ_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark ParticleSysBone = Sparks08 BuildUpBlueSpark ParticleSysBone = Sparks09 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABBtCmdHQ_A6S Animation = ABBtCmdHQ_A6S.ABBtCmdHQ_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark ParticleSysBone = Sparks08 BuildUpBlueSpark ParticleSysBone = Sparks09 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABBtCmdHQ_A6SN Animation = ABBtCmdHQ_A6SN.ABBtCmdHQ_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark ParticleSysBone = Sparks08 BuildUpBlueSpark ParticleSysBone = Sparks09 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBtCmdHQ_A6 Animation = ABBtCmdHQ_A6.ABBtCmdHQ_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBtCmdHQ_A6N Animation = ABBtCmdHQ_A6N.ABBtCmdHQ_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBtCmdHQ_A6S Animation = ABBtCmdHQ_A6S.ABBtCmdHQ_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBtCmdHQ_A6SN Animation = ABBtCmdHQ_A6SN.ABBtCmdHQ_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBtCmdHQ_A6 Animation = ABBtCmdHQ_A6.ABBtCmdHQ_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A6N Animation = ABBtCmdHQ_A6N.ABBtCmdHQ_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBtCmdHQ_A6S Animation = ABBtCmdHQ_A6S.ABBtCmdHQ_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A6SN Animation = ABBtCmdHQ_A6SN.ABBtCmdHQ_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A5 Animation = ABBtCmdHQ_A5.ABBtCmdHQ_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A5N Animation = ABBtCmdHQ_A5N.ABBtCmdHQ_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A5S Animation = ABBtCmdHQ_A5S.ABBtCmdHQ_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A5SN Animation = ABBtCmdHQ_A5SN.ABBtCmdHQ_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBtCmdHQ_A3 Animation = ABBtCmdHQ_A3.ABBtCmdHQ_A3 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBtCmdHQ_A3N Animation = ABBtCmdHQ_A3N.ABBtCmdHQ_A3N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBtCmdHQ_A3S ; @todo srj -- not found Animation = ABBtCmdHQ_A3S.ABBtCmdHQ_A3S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBtCmdHQ_A3SN Animation = ABBtCmdHQ_A3SN.ABBtCmdHQ_A3SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBtCmdHQ_A3 Animation = ABBtCmdHQ_A3.ABBtCmdHQ_A3 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A3N Animation = ABBtCmdHQ_A3N.ABBtCmdHQ_A3N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBtCmdHQ_A3S ; @todo srj -- not found Animation = ABBtCmdHQ_A3S.ABBtCmdHQ_A3S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A3S Animation = ABBtCmdHQ_A3S.ABBtCmdHQ_A3S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; Officers club flag Draw = W3DModelDraw ModuleTag_OfficersClub OkToChangeModelColor = No ConditionState = NONE Model = None End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE ConditionState = PREORDER Model = OCFlagUSA Animation = OCFlagUSA.OCFlagUSA AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PREORDER DAMAGED Model = OCFlagUSA_D Animation = OCFlagUSA_D.OCFlagUSA_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PREORDER REALLYDAMAGED RUBBLE Model = OCFlagUSA_E Animation = OCFlagUSA_E.OCFlagUSA_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:CommandCenter Side = AmericaAirForceGeneral EditorSorting = STRUCTURE BuildCost = 2000 BuildTime = 45.0 ; in seconds EnergyProduction = 0 ;Command Center should be free CommandSet = AirF_AmericaCommandCenterCommandSet VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 300 ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = CommandCenterUSASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE COMMANDCENTER SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_08 MaxHealth = 5000.0 InitialHealth = 5000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 5200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = PreorderCreate ModuleTag_PreorderCreate End Behavior = GrantUpgradeCreate ModuleTag_09 UpgradeToGrant = Upgrade_AmericaRadar ExemptStatus = UNDER_CONSTRUCTION End Behavior = ProductionUpdate ModuleTag_11 NumDoorAnimations = 1 DoorOpeningTime = 1500 ;in mSeconds DoorWaitOpenTime = 3000 ;in mSeconds DoorCloseTime = 1500 ;in mSeconds ConstructionCompleteDuration = 1500 ;in mSeconds End Behavior = RadarUpdate ModuleTag_12 RadarExtendTime = 4000 ;in mSeconds End Behavior = DefaultProductionExitUpdate ModuleTag_13 UnitCreatePoint = X:-18.0 Y: 35.0 Z:0.0 NaturalRallyPoint = X: 60.0 Y: 35.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = BaseRegenerateUpdate ModuleTag_14 ;No data End Behavior = DestroyDie ModuleTag_15 ;nothing End Behavior = CreateObjectDie ModuleTag_16 CreationList = OCL_LargeStructureDebris End Behavior = CreateObjectDie ModuleTag_17 CreationList = AirF_OCL_AmericanRangerDebris10 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_18 DeathFX = FX_StructureMediumDeath End Behavior = RadarUpgrade ModuleTag_19 TriggeredBy = Upgrade_AmericaRadar End Behavior = OCLSpecialPower ModuleTag_20 SpecialPowerTemplate = SuperweaponDaisyCutter UpgradeOCL = SCIENCE_MOAB SUPERWEAPON_MOAB OCL = SUPERWEAPON_DaisyCutter CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_21 SpecialPowerTemplate = SpecialPowerSpyDrone OCL = SUPERWEAPON_SpyDrone CreateLocation = CREATE_ABOVE_LOCATION End Behavior = OCLSpecialPower ModuleTag_22 SpecialPowerTemplate = SuperweaponParadropAmerica UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 OCL = SUPERWEAPON_Paradrop1 CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE OCLAdjustPositionToPassable = Yes ;Like RA2, shift target to passable cell so we don't land in water and on cliffs. End ; Behavior = OCLSpecialPower ModuleTag_23;this has been removed from everywhere but the ChinaAirfield in CHI05 ; SpecialPowerTemplate = AirF_SuperweaponCarpetBomb ; OCL = AirF_SUPERWEAPON_CarpetBomb ; CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE ; End Behavior = OCLSpecialPower ModuleTag_24 SpecialPowerTemplate = SpecialPowerSpySatellite OCL = SUPERWEAPON_SpySatellite CreateLocation = CREATE_AT_LOCATION End Behavior = OCLSpecialPower ModuleTag_25 SpecialPowerTemplate = SuperweaponCrateDrop OCL = SUPERWEAPON_CrateDrop CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_26 SpecialPowerTemplate = AirF_SuperweaponA10ThunderboltMissileStrike UpgradeOCL = AirF_SCIENCE_A10ThunderboltMissileStrike3 SUPERWEAPON_A10ThunderboltMissileStrike3 UpgradeOCL = AirF_SCIENCE_A10ThunderboltMissileStrike2 SUPERWEAPON_A10ThunderboltMissileStrike2 OCL = SUPERWEAPON_A10ThunderboltMissileStrike1 CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_27 SpecialPowerTemplate = Early_SuperweaponEmergencyRepair UpgradeOCL = Early_SCIENCE_EmergencyRepair3 SUPERWEAPON_RepairVehicles3 UpgradeOCL = Early_SCIENCE_EmergencyRepair2 SUPERWEAPON_RepairVehicles2 OCL = SUPERWEAPON_RepairVehicles1 CreateLocation = CREATE_AT_LOCATION End ;;;; **NOTE put this back in? ; note that this power isn't normally available to human players, only to AI ones ;Behavior = DefectorSpecialPower ModuleTag_28 ; SpecialPowerTemplate = SpecialPowerDefector ; @todo lorenzen add fatcursor params ;End ;Kris: Now launched by OCLSpecialPower for DaisyCutter. ;Behavior = OCLSpecialPower ModuleTag_29 ; SpecialPowerTemplate = SuperweaponMOAB ; OCL = SUPERWEAPON_MOAB ; CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE ;End Behavior = FlammableUpdate ModuleTag_30 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_31 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = SpecialAbility ModuleTag_32 SpecialPowerTemplate = AirF_SuperweaponSpectreGunship UpdateModuleStartsAttack = Yes End ;Kris: Order matters -- process in order of highest level to lowest level technology. Behavior = SpectreGunshipDeploymentUpdate ModuleSpectre_3 SpecialPowerTemplate = AirF_SuperweaponSpectreGunship RequiredScience = SCIENCE_SpectreGunship3 GunshipTemplateName = AirF_AmericaJetSpectreGunship3 AttackAreaRadius = 200 CreateLocation = CREATE_AT_EDGE_FARTHEST_FROM_TARGET ;other choices are: *NEAR_SOURCE *FARTHEST_FROM_SOURCE *NEAR_TARGET End Behavior = SpectreGunshipDeploymentUpdate ModuleSpectre_2 SpecialPowerTemplate = AirF_SuperweaponSpectreGunship RequiredScience = SCIENCE_SpectreGunship2 GunshipTemplateName = AirF_AmericaJetSpectreGunship2 AttackAreaRadius = 200 CreateLocation = CREATE_AT_EDGE_FARTHEST_FROM_TARGET ;other choices are: *NEAR_SOURCE *FARTHEST_FROM_SOURCE *NEAR_TARGET End Behavior = SpectreGunshipDeploymentUpdate ModuleSpectre_1 SpecialPowerTemplate = AirF_SuperweaponSpectreGunship RequiredScience = SCIENCE_SpectreGunship1 GunshipTemplateName = AirF_AmericaJetSpectreGunship1 AttackAreaRadius = 200 CreateLocation = CREATE_AT_EDGE_FARTHEST_FROM_TARGET ;other choices are: *NEAR_SOURCE *FARTHEST_FROM_SOURCE *NEAR_TARGET End Behavior = OCLSpecialPower ModuleTag_34 SpecialPowerTemplate = SuperweaponLeafletDrop OCL = SUPERWEAPON_LeafletDrop CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End ;Behavior = CommandSetUpgrade ModuleTag_35 ; CommandSet = AirF_AmericaCommandCenterCommandSetToMOAB ; TriggeredBy = Upgrade_AmericaMOAB ;End Behavior = GrantScienceUpgrade ModuleTag_Science GrantScience = SCIENCE_MOAB TriggeredBy = Upgrade_AmericaMOAB End Geometry = BOX GeometryMajorRadius = 60.0 GeometryMinorRadius = 70.0 GeometryHeight = 49.0 GeometryIsSmall = No FactoryExitWidth = 25 ; How much space to leave for units exiting. Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object AirF_AmericaPowerPlant ; *** ART Parameters *** SelectPortrait = SAPowerPlant_L ButtonImage = SAPowerPlant UpgradeCameo1 = Upgrade_AmericaAdvancedControlRods ; ---- the building itself ------ Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ******************************************** ConditionState = NONE; Model = ABPWRPLANT Animation = ABPWRPLANT.ABPWRPLANT AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED Model = ABPWRPLANT_D ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE Model = ABPWRPLANT_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks End ; day upgrade ConditionState = POWER_PLANT_UPGRADED ; Model = ABPWRPLANT Animation = ABPWRPLANT.ABPWRPLANT AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ConditionState = DAMAGED POWER_PLANT_UPGRADED Model = ABPWRPLANT_D ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED Model = ABPWRPLANT_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ; night ConditionState = NIGHT; Model = ABPWRPLANT_N Animation = ABPWRPLANT_N.ABPWRPLANT_N AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED NIGHT Model = ABPWRPLANT_DN Animation = ABPWRPLANT_DN.ABPWRPLANT_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks ParticleSysBone = Sparks03 LiveWireSparks02 End ConditionState = REALLYDAMAGED RUBBLE NIGHT; Model = ABPWRPLANT_EN Animation = ABPWRPLANT_EN.ABPWRPLANT_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks End ; night upgraded ConditionState = NIGHT POWER_PLANT_UPGRADED Model = ABPWRPLANT_N Animation = ABPWRPLANT_N.ABPWRPLANT_N AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ConditionState = DAMAGED NIGHT POWER_PLANT_UPGRADED Model = ABPWRPLANT_DN Animation = ABPWRPLANT_DN.ABPWRPLANT_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE NIGHT POWER_PLANT_UPGRADED Model = ABPWRPLANT_EN Animation = ABPWRPLANT_EN.ABPWRPLANT_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ; day ******************************************** ConditionState = SNOW Model = ABPWRPLANT_S Animation = ABPWRPLANT_S.ABPWRPLANT_S AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED SNOW Model = ABPWRPLANT_DS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABPWRPLANT_ES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks End ; day upgrade ConditionState = POWER_PLANT_UPGRADED SNOW; Model = ABPWRPLANT_S Animation = ABPWRPLANT_S.ABPWRPLANT_S AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW Model = ABPWRPLANT_DS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW Model = ABPWRPLANT_ES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ; night ConditionState = NIGHT SNOW; Model = ABPWRPLANT_NS Animation = ABPWRPLANT_NS.ABPWRPLANT_NS AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED NIGHT SNOW Model = ABPWRPLANT_DNS Animation = ABPWRPLANT_DNS.ABPWRPLANT_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks ParticleSysBone = Sparks03 LiveWireSparks02 End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW; Model = ABPWRPLANT_ENS Animation = ABPWRPLANT_ENS.ABPWRPLANT_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks End ; night upgraded ConditionState = NIGHT POWER_PLANT_UPGRADED SNOW Model = ABPWRPLANT_NS Animation = ABPWRPLANT_NS.ABPWRPLANT_NS AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ConditionState = DAMAGED NIGHT POWER_PLANT_UPGRADED SNOW Model = ABPWRPLANT_DNS Animation = ABPWRPLANT_DNS.ABPWRPLANT_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE NIGHT POWER_PLANT_UPGRADED SNOW Model = ABPWRPLANT_ENS Animation = ABPWRPLANT_ENS.ABPWRPLANT_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPWRPLANT Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABPWRPLANT_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABPWRPLANT_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABPWRPLANT_N Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABPWRPLANT_DN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABPWRPLANT_EN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABPWRPLANT_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABPWRPLANT_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABPWRPLANT_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABPWRPLANT_NS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABPWRPLANT_DNS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABPWRPLANT_ENS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD SNOW POWER_PLANT_UPGRADED AliasConditionState = SOLD SNOW DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD SNOW REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED POWER_PLANT_UPGRADED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A4 Animation = ABPwrPlant_A4.ABPwrPlant_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A4N Animation = ABPwrPlant_A4N.ABPwrPlant_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A4S Animation = ABPwrPlant_A4S.ABPwrPlant_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A4S Animation = ABPwrPlant_A4S.ABPwrPlant_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABPwrPlant_A4 Animation = ABPwrPlant_A4.ABPwrPlant_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABPwrPlant_A4N Animation = ABPwrPlant_A4N.ABPwrPlant_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABPwrPlant_A4S Animation = ABPwrPlant_A4S.ABPwrPlant_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABPwrPlant_A4SN Animation = ABPwrPlant_A4SN.ABPwrPlant_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABPwrPlant_A4 Animation = ABPwrPlant_A4.ABPwrPlant_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABPwrPlant_A4N Animation = ABPwrPlant_A4N.ABPwrPlant_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABPwrPlant_A4S Animation = ABPwrPlant_A4S.ABPwrPlant_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABPwrPlant_A4SN Animation = ABPwrPlant_A4SN.ABPwrPlant_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABPwrPlant_A6 Animation = ABPwrPlant_A6.ABPwrPlant_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SparksS01 BuildUpBlueSpark ParticleSysBone = SparksS02 BuildUpBlueSpark ParticleSysBone = SparksS03 SparksSmall ParticleSysBone = SparksS06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABPwrPlant_A6N Animation = ABPwrPlant_A6N.ABPwrPlant_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SparksS01 BuildUpBlueSpark ParticleSysBone = SparksS02 BuildUpBlueSpark ParticleSysBone = SparksS03 SparksSmall ParticleSysBone = SparksS06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABPwrPlant_A6S Animation = ABPwrPlant_A6S.ABPwrPlant_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SparksS01 BuildUpBlueSpark ParticleSysBone = SparksS02 BuildUpBlueSpark ParticleSysBone = SparksS03 SparksSmall ParticleSysBone = SparksS06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABPwrPlant_A6SN Animation = ABPwrPlant_A6SN.ABPwrPlant_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SparksS01 BuildUpBlueSpark ParticleSysBone = SparksS02 BuildUpBlueSpark ParticleSysBone = SparksS03 SparksSmall ParticleSysBone = SparksS06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABPwrPlant_A6 Animation = ABPwrPlant_A6.ABPwrPlant_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABPwrPlant_A6N Animation = ABPwrPlant_A6N.ABPwrPlant_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABPwrPlant_A6S Animation = ABPwrPlant_A6S.ABPwrPlant_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABPwrPlant_A6SN Animation = ABPwrPlant_A6SN.ABPwrPlant_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABPwrPlant_A6 Animation = ABPwrPlant_A6.ABPwrPlant_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABPwrPlant_A6N Animation = ABPwrPlant_A6N.ABPwrPlant_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABPwrPlant_A6S Animation = ABPwrPlant_A6S.ABPwrPlant_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABPwrPlant_A6SN Animation = ABPwrPlant_A6SN.ABPwrPlant_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A5 Animation = ABPwrPlant_A5.ABPwrPlant_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A5N Animation = ABPwrPlant_A5N.ABPwrPlant_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A5S Animation = ABPwrPlant_A5S.ABPwrPlant_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A5SN Animation = ABPwrPlant_A5SN.ABPwrPlant_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABPwrPlant_AB Animation = ABPwrPlant_AB.ABPwrPlant_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABPwrPlant_ABN Animation = ABPwrPlant_ABN.ABPwrPlant_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABPwrPlant_ABS Animation = ABPwrPlant_ABS.ABPwrPlant_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABPwrPlant_ABSN Animation = ABPwrPlant_ABSN.ABPwrPlant_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABPwrPlant_AB Animation = ABPwrPlant_AB.ABPwrPlant_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABPwrPlant_ABN Animation = ABPwrPlant_ABN.ABPwrPlant_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABPwrPlant_ABS Animation = ABPwrPlant_ABS.ABPwrPlant_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABPwrPlant_ABSN Animation = ABPwrPlant_ABSN.ABPwrPlant_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ---- the control rods ----- Draw = W3DModelDraw ModuleTag_05 OkToChangeModelColor = Yes ; no upgrade ConditionState = NONE Model ABPWRPLANT_A1 End AliasConditionState = SNOW AliasConditionState = NIGHT AliasConditionState = SNOW NIGHT ConditionState = DAMAGED Model ABPWRPLANT_A1D End AliasConditionState = DAMAGED SNOW AliasConditionState = DAMAGED NIGHT AliasConditionState = DAMAGED SNOW NIGHT ConditionState = REALLYDAMAGED RUBBLE Model ABPWRPLANT_A1E End AliasConditionState = REALLYDAMAGED RUBBLE SNOW AliasConditionState = REALLYDAMAGED RUBBLE NIGHT AliasConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPWRPLANT_A1 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABPWRPLANT_A1D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = ABPWRPLANT_A1E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT ; first to upgrade ConditionState = POWER_PLANT_UPGRADING Model ABPWRPLANT_A1 Animation = ABPWRPLANT_A1.ABPWRPLANT_A1 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = POWER_PLANT_UPGRADING SNOW AliasConditionState = POWER_PLANT_UPGRADING NIGHT AliasConditionState = POWER_PLANT_UPGRADING SNOW NIGHT ConditionState = DAMAGED POWER_PLANT_UPGRADING Model ABPWRPLANT_A1D Animation = ABPWRPLANT_A1D.ABPWRPLANT_A1D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = DAMAGED POWER_PLANT_UPGRADING SNOW AliasConditionState = DAMAGED POWER_PLANT_UPGRADING NIGHT AliasConditionState = DAMAGED POWER_PLANT_UPGRADING SNOW NIGHT ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING Model ABPWRPLANT_A1E Animation = ABPWRPLANT_A1E.ABPWRPLANT_A1E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING SNOW AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING NIGHT AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING SNOW NIGHT ; already upgraded ConditionState = POWER_PLANT_UPGRADED Model ABPWRPLANT_A1 Animation = ABPWRPLANT_A1.ABPWRPLANT_A1 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = POWER_PLANT_UPGRADED SNOW AliasConditionState = POWER_PLANT_UPGRADED NIGHT AliasConditionState = POWER_PLANT_UPGRADED SNOW NIGHT ConditionState = DAMAGED POWER_PLANT_UPGRADED Model ABPWRPLANT_A1D Animation = ABPWRPLANT_A1D.ABPWRPLANT_A1D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW AliasConditionState = DAMAGED POWER_PLANT_UPGRADED NIGHT AliasConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW NIGHT ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED Model ABPWRPLANT_A1E Animation = ABPWRPLANT_A1E.ABPWRPLANT_A1E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED NIGHT AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED POWER_PLANT_UPGRADED ;************************************************************************************************************************** End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:ColdFusionReactor Side = AmericaAirForceGeneral EditorSorting = STRUCTURE Prerequisites ; Object = AirF_AmericaCommandCenter End BuildCost = 800 BuildTime = 10.0 ; in seconds EnergyProduction = 5 EnergyBonus = 5 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End CommandSet = AirF_AmericaPowerPlantCommandSet ExperienceValue = 100 100 100 100 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = ColdFusionReactorSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_POWER MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_06 MaxHealth = 800.0 InitialHealth = 800.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = PowerPlantUpgrade ModuleTag_07 TriggeredBy = Upgrade_AmericaAdvancedControlRods End Behavior = BaseRegenerateUpdate ModuleTag_08 ;No data End Behavior = PowerPlantUpdate ModuleTag_09 RodsExtendTime = 600 End Behavior = DestroyDie ModuleTag_10 ;nothing End Behavior = CreateObjectDie ModuleTag_11 CreationList = OCL_ABPowerPlantExplode End Behavior = CreateObjectDie ModuleTag_12 CreationList = AirF_OCL_AmericanRangerDebris02 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_13 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_14 ; nothing End Behavior = FlammableUpdate ModuleTag_16 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_17 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = BOX GeometryMajorRadius = 22.0 GeometryMinorRadius = 30.0 GeometryHeight = 46.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object AirF_AmericaParticleCannonUplink ; *** ART Parameters *** SelectPortrait = SAUplink_L ButtonImage = SAUplink Draw = W3DModelDraw ModuleTag_01 ExtraPublicBone = FX01 ExtraPublicBone = FX02 ExtraPublicBone = FX03 ExtraPublicBone = FX04 ExtraPublicBone = FX05 OkToChangeModelColor = Yes ; day ************************************** ConditionState = NONE Model = ABSDILink Animation = ABSDILink.ABSDILink AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED Model = ABSDILink_D Animation = ABSDILink_D.ABSDILink_D AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE Model = ABSDILink_E Animation = ABSDILink_E.ABSDILink_E AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; night ************************************* ConditionState = NIGHT Model = ABSDILink_N Animation = ABSDILink_N.ABSDILink_N AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED NIGHT Model = ABSDILink_DN Animation = ABSDILink_DN.ABSDILink_DN AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABSDILink_EN Animation = ABSDILink_EN.ABSDILink_EN AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; day snow ************************************** ConditionState = SNOW Model = ABSDILink_S Animation = ABSDILink_S.ABSDILink_S AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED SNOW Model = ABSDILink_DS Animation = ABSDILink_DS.ABSDILink_DS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABSDILink_ES Animation = ABSDILink_ES.ABSDILink_ES AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; night snow ************************************* ConditionState = NIGHT SNOW Model = ABSDILink_NS Animation = ABSDILink_NS.ABSDILink_NS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED NIGHT SNOW Model = ABSDILink_DNS Animation = ABSDILink_DNS.ABSDILink_DNS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABSDILink_ENS Animation = ABSDILink_ENS.ABSDILink_ENS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink Animation = ABSDILink.ABSDILink AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABSDILink_D Animation = ABSDILink_D.ABSDILink_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABSDILink_E Animation = ABSDILink_E.ABSDILink_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABSDILink_N Animation = ABSDILink_N.ABSDILink_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABSDILink_DN Animation = ABSDILink_DN.ABSDILink_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABSDILink_EN Animation = ABSDILink_EN.ABSDILink_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABSDILink_S Animation = ABSDILink_S.ABSDILink_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABSDILink_DS Animation = ABSDILink_DS.ABSDILink_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABSDILink_ES Animation = ABSDILink_ES.ABSDILink_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABSDILink_NS Animation = ABSDILink_NS.ABSDILink_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABSDILink_DNS Animation = ABSDILink_DNS.ABSDILink_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABSDILink_ENS Animation = ABSDILink_ENS.ABSDILink_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ;------------ the cannon section (hatch, dish animations) ----------- Draw = W3DModelDraw ModuleTag_02 ExtraPublicBone = FXConnector ExtraPublicBone = FXMain OkToChangeModelColor = Yes ; day ************************************** ConditionState = NONE Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW ConditionState = DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = AWAITING_CONSTRUCTION Model = None End AliasConditionState = NIGHT AWAITING_CONSTRUCTION AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION AliasConditionState = SNOW AWAITING_CONSTRUCTION ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A1 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABSDILink_A1D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE ;Preparing to fire! ConditionState = UNPACKING Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End AliasConditionState = NIGHT UNPACKING AliasConditionState = NIGHT SNOW UNPACKING AliasConditionState = SNOW UNPACKING ConditionState = UNPACKING DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End AliasConditionState = NIGHT UNPACKING DAMAGED AliasConditionState = NIGHT SNOW UNPACKING DAMAGED AliasConditionState = SNOW UNPACKING DAMAGED ConditionState = UNPACKING REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End AliasConditionState = NIGHT UNPACKING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW UNPACKING REALLYDAMAGED RUBBLE AliasConditionState = SNOW UNPACKING REALLYDAMAGED RUBBLE ;Ready to fire -- or firing! ConditionState = DEPLOYED Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DEPLOYED AliasConditionState = NIGHT SNOW DEPLOYED AliasConditionState = SNOW DEPLOYED ConditionState = DEPLOYED DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DEPLOYED DAMAGED AliasConditionState = NIGHT SNOW DEPLOYED DAMAGED AliasConditionState = SNOW DEPLOYED DAMAGED ConditionState = DEPLOYED REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DEPLOYED REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DEPLOYED REALLYDAMAGED RUBBLE AliasConditionState = SNOW DEPLOYED REALLYDAMAGED RUBBLE ;Packing up (recharging for new attack) ConditionState = PACKING Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES3 End AliasConditionState = NIGHT PACKING AliasConditionState = NIGHT SNOW PACKING AliasConditionState = SNOW PACKING ConditionState = PACKING DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES3 End AliasConditionState = NIGHT PACKING DAMAGED AliasConditionState = NIGHT SNOW PACKING DAMAGED AliasConditionState = SNOW PACKING DAMAGED ConditionState = PACKING REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES3 End AliasConditionState = NIGHT PACKING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW PACKING REALLYDAMAGED RUBBLE AliasConditionState = SNOW PACKING REALLYDAMAGED RUBBLE ConditionState = SOLD DEPLOYED Model = NONE End ConditionState = SOLD SNOW DEPLOYED Model = NONE End ConditionState = SOLD NIGHT DEPLOYED Model = NONE End ConditionState = SOLD NIGHT SNOW DEPLOYED Model = NONE End End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4 Animation = ABSDILink_A4.ABSDILink_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4N Animation = ABSDILink_A4N.ABSDILink_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4S Animation = ABSDILink_A4S.ABSDILink_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4SN Animation = ABSDILink_A4SN.ABSDILink_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSDILink_A4 Animation = ABSDILink_A4.ABSDILink_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSDILink_A4N Animation = ABSDILink_A4N.ABSDILink_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSDILink_A4S Animation = ABSDILink_A4S.ABSDILink_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSDILink_A4SN Animation = ABSDILink_A4SN.ABSDILink_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSDILink_A4 Animation = ABSDILink_A4.ABSDILink_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSDILink_A4N Animation = ABSDILink_A4N.ABSDILink_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSDILink_A4S Animation = ABSDILink_A4S.ABSDILink_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSDILink_A4SN Animation = ABSDILink_A4SN.ABSDILink_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABSDILink_A6 Animation = ABSDILink_A6.ABSDILink_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABSDILink_A6N Animation = ABSDILink_A6N.ABSDILink_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABSDILink_A6S Animation = ABSDILink_A6S.ABSDILink_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABSDILink_A6SN Animation = ABSDILink_A6SN.ABSDILink_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSDILink_A6 Animation = ABSDILink_A6.ABSDILink_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSDILink_A6N Animation = ABSDILink_A6N.ABSDILink_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSDILink_A6S Animation = ABSDILink_A6S.ABSDILink_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSDILink_A6SN Animation = ABSDILink_A6SN.ABSDILink_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSDILink_A6 Animation = ABSDILink_A6.ABSDILink_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSDILink_A6N Animation = ABSDILink_A6N.ABSDILink_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSDILink_A6S Animation = ABSDILink_A6S.ABSDILink_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSDILink_A6SN Animation = ABSDILink_A6SN.ABSDILink_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5 Animation = ABSDILink_A5.ABSDILink_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5N Animation = ABSDILink_A5N.ABSDILink_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5S Animation = ABSDILink_A5S.ABSDILink_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5SN Animation = ABSDILink_A5SN.ABSDILink_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSDILink_AB Animation = ABSDILink_AB.ABSDILink_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSDILink_ABN Animation = ABSDILink_ABN.ABSDILink_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSDILink_ABS Animation = ABSDILink_ABS.ABSDILink_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSDILink_ABSN Animation = ABSDILink_ABSN.ABSDILink_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSDILink_AB Animation = ABSDILink_AB.ABSDILink_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSDILink_ABN Animation = ABSDILink_ABN.ABSDILink_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSDILink_ABS Animation = ABSDILink_ABS.ABSDILink_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSDILink_ABSN Animation = ABSDILink_ABSN.ABSDILink_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:ParticleCannon Side = AmericaAirForceGeneral EditorSorting = STRUCTURE Prerequisites Object = AirF_AmericaStrategyCenter End BuildCost = 5000 BuildTime = 60.0 ; in seconds EnergyProduction = -10 VisionRange = 200.0 ; Shroud clearing distance ShroudRevealToAllRange = 60 ; Reveals shroud to all players at a specific amount which can be different. ; Using same value? Then use KINDOF_REVEAL_TO_ALL instead! ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End CommandSet = AirF_AmericaParticleUplinkCannonCommandSet ExperienceValue = 400 400 400 400 ; Experience point value at each level MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games MaxSimultaneousLinkKey = Superweapon ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType ; *** AUDIO Parameters *** VoiceSelect = ParticleCannonSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY POWERED MP_COUNT_FOR_VICTORY FS_SUPERWEAPON Body = StructureBody ModuleTag_06 MaxHealth = 4000.0 InitialHealth = 4000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 4200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = BaseRegenerateUpdate ModuleTag_07 ;No data End Behavior = SpecialPowerCreate ModuleTag_16 ;nothing End Behavior = SpecialAbility ModuleTag_11 SpecialPowerTemplate = SuperweaponParticleUplinkCannon UpdateModuleStartsAttack = Yes End Behavior = ParticleUplinkCannonUpdate ModuleTag_12 SpecialPowerTemplate = SuperweaponParticleUplinkCannon ;The values trigger the various pre-stages before being ready to actually fire. ;The total combined value of these determines the first sign of activity in the ;cannon. BeginChargeTime = 5000 ;The outer nodes begin to charge. RaiseAntennaTime = 4667 ;The hatch opens and raises antenna (matches animation speed) ReadyDelayTime = 2000 ;The time after antenna is raised prior to being ready to fire. ;***NOTE -- these values effect gameplay***** TotalFiringTime = 10000 ;The total ground contact time of the beam DamagePerSecond = 400 ;Amount of damage inflicted per second TotalDamagePulses = 40 ;The total number of damage pulses -- less means more damage per pulse, but less accurate WidthGrowTime = 2000 ;The amount of time it takes for the beam to reach full diameter (same value used for shrinking) BeamTravelTime = 2500 ;How long it takes for the beam to hit the ground after leaving the firing dish. DamageType = PARTICLE_BEAM ;Type of damage inflicted. DamageRadiusScalar = 3.4 ;Multiplies the radius (relative to beam diameter) so that things close to the beam can get hit too! RevealRange = 50.0 ;Grants gratuitous vision for the player launching the target as the beam cuts it's swath of death. ;******************************************** ;Bone names for required elements OuterEffectBoneName = FX ;The base name for the outer node bones. OuterEffectNumBones = 5 ;The number of outer nodes. ConnectorBoneName = FXConnector ;The name of the bone where the connector lasers meet. FireBoneName = FXMain ;The name of the bone where the main beam is fired from. ;These are particle systems tied to the outer nodes in varying intensities. OuterNodesLightFlareParticleSystem = ParticleUplinkCannon_OuterNodeLightFlare OuterNodesMediumFlareParticleSystem = ParticleUplinkCannon_OuterNodeMediumFlare OuterNodesIntenseFlareParticleSystem = ParticleUplinkCannon_OuterNodeIntenseFlare ;The connectors system connects each of the outer nodes to the central node that receives ;the lasers from outside. ConnectorMediumLaserName = ParticleUplinkCannon_MediumConnectorLaser ConnectorIntenseLaserName = ParticleUplinkCannon_IntenseConnectorLaser ;Currently commented out -- These ;ConnectorMediumFlare = ParticleUplinkCannon_InnerConnectorMediumFlare ;ConnectorIntenseFlare = ParticleUplinkCannon_InnerConnectorIntenseFlare ;This is the name of the bone on the building where the beam is fired from LaserBaseLightFlareParticleSystemName = ParticleUplinkCannon_LaserBaseReadyToFire ParticleBeamLaserName = ParticleUplinkCannon_OrbitalLaser GroundHitFX = FX_ParticleUplinkCannon_BeamHitsGround ;TotalScorchMarks determines how many times this gets called. ;The flare fxlist that is played over and over during the beam firing process. Be ;mindful of the delay because that effects both art and sound. BeamLaunchFX = FX_ParticleUplinkCannon_BeamLaunchIteration DelayBetweenLaunchFX = 1000 ;Each scorch mark creates an object in the world, so while making more looks better ;it becomes a performance issue. The scalar will calculate the size of the scorch ;mark to make based on the current size of the beam (which changes dynamically). The ;number also matches the number of times the "GroundHitFX" is called. TotalScorchMarks = 20 ScorchMarkScalar = 2.4 ;***NOTE -- these values effect gameplay*** ;The swath of death is the path the laser tracers centered on the targeted position. ;If the amplitude is zero, the line will go straight, with a higher value, it'll do ;a sine wave iteration, but always goes through the target point. SwathOfDeathDistance = 200.0 SwathOfDeathAmplitude = 50.0 ManualDrivingSpeed = 20 ManualFastDrivingSpeed = 40 DoubleClickToFastDriveDelay = 500 ;***SOUNDS!**** PoweringUpSoundLoop = ParticleUplinkCannon_PowerupSoundLoop UnpackToIdleSoundLoop = ParticleUplinkCannon_UnpackToIdleSoundLoop FiringToPackSoundLoop = ParticleUplinkCannon_FiringToPackSoundLoop GroundAnnihilationSoundLoop = ParticleUplinkCannon_GroundAnnihilationSoundLoop ;The trail left behind creates an object that inflicts extra damage for a short period of time. DamagePulseRemnantObjectName = ParticleUplinkCannonTrailRemnant End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = ProductionUpdate ModuleTag_15 ; This is needed in order to get a public timer to work! End Behavior = TransitionDamageFX ModuleTag_17 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = SlowDeathBehavior ModuleTag_18 ; don't run this death if we are under construction... ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 2000 FX = INITIAL FX_ParticleUplinkDeathInitial OCL = INITIAL OCL_SDILinkLasers FX = FINAL FX_StructureMediumDeath OCL = FINAL OCL_ParticleUplinkDeathFinal End Behavior = InstantDeathBehavior ModuleTag_19 ; if we are under construction, use this death instead RequiredStatus = UNDER_CONSTRUCTION OCL = OCL_ABPowerPlantExplode FX = FX_StructureMediumDeath End Geometry = BOX GeometryMajorRadius = 64.0 GeometryMinorRadius = 38.0 GeometryHeight = 38.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object AirF_SDILasers Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = ABSDILink_L Animation = ABSDILink_L.ABSDILink_L AnimationMode = ONCE End End Behavior = LifetimeUpdate ModuleTag_02 MinLifetime = 3000 ; min lifetime in msec MaxLifetime = 3000 ; max lifetime in msec End Body = HighlanderBody ModuleTag_03 MaxHealth = 1.0 InitialHealth = 1.0 End Behavior = DestroyDie ModuleTag_04 ; End End ;------------------------------------------------------------------------------ Object AirF_AmericaStrategyCenter ; *** ART Parameters *** SelectPortrait = SAStrategyCenter_L ButtonImage = SAStrategyCenter Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day *************************************************** ConditionState = NONE Model = ABStrategy Animation = ABStrategy.ABStrategy AnimationMode = LOOP End ConditionState = DAMAGED Model = ABStrategy_D Animation = ABStrategy_D.ABStrategy_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = ABStrategy_E Animation = ABStrategy_E.ABStrategy_E AnimationMode = LOOP End ; SNOW *************************************************** ConditionState = SNOW Model = ABStrategy_S Animation = ABStrategy_S.ABStrategy_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABStrategy_DS Animation = ABStrategy_DS.ABStrategy_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABStrategy_ES Animation = ABStrategy_ES.ABStrategy_ES AnimationMode = LOOP End ; night ************************************************** ConditionState = NIGHT Model = ABStrategy_N Animation = ABStrategy_N.ABStrategy_N AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End ConditionState = NIGHT DAMAGED Model = ABStrategy_DN Animation = ABStrategy_DN.ABStrategy_DN AnimationMode = LOOP End ConditionState = NIGHT REALLYDAMAGED RUBBLE Model = ABStrategy_EN Animation = ABStrategy_EN.ABStrategy_EN AnimationMode = LOOP End ; night Snow************************************************** ConditionState = NIGHT SNOW Model = ABStrategy_NS Animation = ABStrategy_NS.ABStrategy_NS AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End ConditionState = NIGHT DAMAGED SNOW Model = ABStrategy_DNS Animation = ABStrategy_DNS.ABStrategy_DNS AnimationMode = LOOP End ConditionState = NIGHT REALLYDAMAGED RUBBLE SNOW Model = ABStrategy_ENS Animation = ABStrategy_ENS.ABStrategy_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy Animation = ABStrategy.ABStrategy AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABStrategy_D Animation = ABStrategy_D.ABStrategy_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABStrategy_E Animation = ABStrategy_E.ABStrategy_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABStrategy_N Animation = ABStrategy_N.ABStrategy_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABStrategy_DN Animation = ABStrategy_DN.ABStrategy_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABStrategy_EN Animation = ABStrategy_EN.ABStrategy_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABStrategy_S Animation = ABStrategy_S.ABStrategy_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABStrategy_DS Animation = ABStrategy_DS.ABStrategy_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABStrategy_ES Animation = ABStrategy_ES.ABStrategy_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABStrategy_NS Animation = ABStrategy_NS.ABStrategy_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABStrategy_DNS Animation = ABStrategy_DNS.ABStrategy_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABStrategy_ENS Animation = ABStrategy_ENS.ABStrategy_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No OkToChangeModelColor = Yes DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A4 Animation = ABStrategy_A4.ABStrategy_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SparksS01 LiveWireSparks02 ParticleSysBone = SmokeS01 SmokeBuildingSmall End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A4N Animation = ABStrategy_A4N.ABStrategy_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SparksS01 LiveWireSparks02 ParticleSysBone = SmokeS01 SmokeBuildingSmall End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A4S Animation = ABStrategy_A4S.ABStrategy_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SparksS01 LiveWireSparks02 ParticleSysBone = SmokeS01 SmokeBuildingSmall End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A4SN Animation = ABStrategy_A4SN.ABStrategy_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SparksS01 LiveWireSparks02 ParticleSysBone = SmokeS01 SmokeBuildingSmall End TransitionState = DOWN_DEFAULT UP_DAY Model = ABStrategy_A4 Animation = ABStrategy_A4.ABStrategy_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABStrategy_A4N Animation = ABStrategy_A4N.ABStrategy_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABStrategy_A4S Animation = ABStrategy_A4S.ABStrategy_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABStrategy_A4SN Animation = ABStrategy_A4SN.ABStrategy_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABStrategy_A4 Animation = ABStrategy_A4.ABStrategy_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABStrategy_A4N Animation = ABStrategy_A4N.ABStrategy_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABStrategy_A4S Animation = ABStrategy_A4S.ABStrategy_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABStrategy_A4SN Animation = ABStrategy_A4SN.ABStrategy_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM OkToChangeModelColor = Yes DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABStrategy_A6 Animation = ABStrategy_A6.ABStrategy_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABStrategy_A6N Animation = ABStrategy_A6N.ABStrategy_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABStrategy_A6S Animation = ABStrategy_A6S.ABStrategy_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABStrategy_A6SN Animation = ABStrategy_A6SN.ABStrategy_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABStrategy_A6 Animation = ABStrategy_A6.ABStrategy_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABStrategy_A6N Animation = ABStrategy_A6N.ABStrategy_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABStrategy_A6S Animation = ABStrategy_A6S.ABStrategy_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABStrategy_A6SN Animation = ABStrategy_A6SN.ABStrategy_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABStrategy_A6 Animation = ABStrategy_A6.ABStrategy_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABStrategy_A6N Animation = ABStrategy_A6N.ABStrategy_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABStrategy_A6S Animation = ABStrategy_A6S.ABStrategy_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABStrategy_A6SN Animation = ABStrategy_A6SN.ABStrategy_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A5 Animation = ABStrategy_A5.ABStrategy_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A5N Animation = ABStrategy_A5N.ABStrategy_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A5S Animation = ABStrategy_A5S.ABStrategy_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A5SN Animation = ABStrategy_A5SN.ABStrategy_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABStrategy_AB Animation = ABStrategy_AB.ABStrategy_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABStrategy_ABN Animation = ABStrategy_ABN.ABStrategy_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABStrategy_ABS Animation = ABStrategy_ABS.ABStrategy_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABStrategy_ABSN Animation = ABStrategy_ABSN.ABStrategy_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABStrategy_AB Animation = ABStrategy_AB.ABStrategy_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABStrategy_ABN Animation = ABStrategy_ABN.ABStrategy_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABStrategy_ABS Animation = ABStrategy_ABS.ABStrategy_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABStrategy_ABSN Animation = ABStrategy_ABSN.ABStrategy_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ BOMBARDMENT BATTLE PLAN ----------------- Draw = W3DModelDraw ModuleTag_05 OkToChangeModelColor = Yes DefaultConditionState Model = ABStrategy_A1 Animation = ABStrategy_A1.ABStrategy_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = ABStrategy_A1 Animation = ABStrategy_A1.ABStrategy_A1 AnimationMode = ONCE End AliasConditionState = DAMAGED DOOR_1_OPENING AliasConditionState = REALLYDAMAGED DOOR_1_OPENING AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = NIGHT SNOW DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = NIGHT DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_OPENING AliasConditionState = SNOW DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING ConditionState = DOOR_1_CLOSING Model = ABStrategy_A1 Animation = ABStrategy_A1.ABStrategy_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = DAMAGED DOOR_1_CLOSING AliasConditionState = REALLYDAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING ConditionState = DOOR_1_WAITING_TO_CLOSE Model = NONE End AliasConditionState = DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A1 Animation = ABStrategy_A1.ABStrategy_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE ;************************************************************************************************************************** End Draw = W3DModelDraw ModuleTag_06 ;***This is the bombardment cannon object that only shows up when ready to fire*** OkToChangeModelColor = Yes DefaultConditionState Model = ABStrategy_A8 WeaponLaunchBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponRecoilBone = PRIMARY Barrel Turret = Turret01 TurretPitch = TurretEL HideSubObject = Chassis End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_TO_CLOSE Model = ABStrategy_A8 ShowSubObject = Chassis End AliasConditionState = DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABStrategy_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = ABStrategy_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE End ; ------------ HOLD THE LINE BATTLE PLAN ----------------- Draw = W3DModelDraw ModuleTag_07 OkToChangeModelColor = Yes DefaultConditionState Model = ABStrategy_A7 Animation = ABStrategy_A7.ABStrategy_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_2_OPENING Model = ABStrategy_A7 Animation = ABStrategy_A7.ABStrategy_A7 AnimationMode = ONCE End AliasConditionState = DAMAGED DOOR_2_OPENING AliasConditionState = REALLYDAMAGED DOOR_2_OPENING AliasConditionState = NIGHT DOOR_2_OPENING AliasConditionState = NIGHT SNOW DOOR_2_OPENING AliasConditionState = SNOW DOOR_2_OPENING AliasConditionState = NIGHT DAMAGED DOOR_2_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_OPENING AliasConditionState = SNOW DAMAGED DOOR_2_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING ConditionState = DOOR_2_CLOSING Model = ABStrategy_A7 Animation = ABStrategy_A7.ABStrategy_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = DAMAGED DOOR_2_CLOSING AliasConditionState = REALLYDAMAGED DOOR_2_CLOSING AliasConditionState = NIGHT DOOR_2_CLOSING AliasConditionState = NIGHT SNOW DOOR_2_CLOSING AliasConditionState = SNOW DOOR_2_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_2_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_CLOSING AliasConditionState = SNOW DAMAGED DOOR_2_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING ConditionState = DOOR_2_WAITING_TO_CLOSE Model = ABStrategy_A7 Animation = ABStrategy_A7.ABStrategy_A7 AnimationMode = ONCE Flags = START_FRAME_LAST End AliasConditionState = DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DOOR_2_WAITING_TO_CLOSE AliasConditionState = SNOW DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_TO_CLOSE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_TO_CLOSE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE ;************************************************************************************************************************** End ; ------------ SEARCH AND DESTROY BATTLE PLAN ----------------- Draw = W3DModelDraw ModuleTag_08 OkToChangeModelColor = Yes DefaultConditionState Model = ABStrategy_A2 Animation = ABStrategy_A2.ABStrategy_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_3_OPENING Model = ABStrategy_A2 Animation = ABStrategy_A2.ABStrategy_A2 AnimationMode = ONCE End AliasConditionState = DAMAGED DOOR_3_OPENING AliasConditionState = REALLYDAMAGED DOOR_3_OPENING AliasConditionState = NIGHT DOOR_3_OPENING AliasConditionState = NIGHT SNOW DOOR_3_OPENING AliasConditionState = SNOW DOOR_3_OPENING AliasConditionState = NIGHT DAMAGED DOOR_3_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_OPENING AliasConditionState = SNOW DAMAGED DOOR_3_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING ConditionState = DOOR_3_CLOSING Model = ABStrategy_A2 Animation = ABStrategy_A2.ABStrategy_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = DAMAGED DOOR_3_CLOSING AliasConditionState = REALLYDAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT DOOR_3_CLOSING AliasConditionState = NIGHT SNOW DOOR_3_CLOSING AliasConditionState = SNOW DOOR_3_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_CLOSING AliasConditionState = SNOW DAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING ConditionState = DOOR_3_WAITING_TO_CLOSE Model = NONE End AliasConditionState = DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A2 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE ;************************************************************************************************************************** End Draw = W3DModelDraw ModuleTag_09 ;***This is the radar array that only shows up when plan is active*** OkToChangeModelColor = Yes DefaultConditionState Model = NONE End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_3_WAITING_TO_CLOSE Model = ABStrategy_A3 Animation = ABStrategy_A3.ABStrategy_A3 AnimationMode = LOOP End AliasConditionState = DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:StrategyCenter Side = AmericaAirForceGeneral EditorSorting = STRUCTURE Prerequisites Object = AirF_AmericaWarFactory AirF_AmericaAirfield End CommandSet = AirF_AmericaStrategyCenterCommandSet BuildCost = 2500 BuildTime = 60.0 ; in seconds EnergyProduction = -2 VisionRange = 400.0 ; Shroud clearing distance MaxSimultaneousOfType = 1 ShroudClearingRange = 400 WeaponSet Conditions = None Weapon = PRIMARY StrategyCenterGun AutoChooseSources = PRIMARY NONE End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 250 250 250 250 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = StrategyCenterSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = NoSound ;These aren't playing properly, will revisit. (mp) StrategyCenter_TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY FS_STRATEGY_CENTER FS_ADVANCED_TECH Body = StructureBody ModuleTag_10 MaxHealth = 1500.0 InitialHealth = 1500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1700 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ProductionUpdate ModuleTag_11 ; nothing End Behavior = BaseRegenerateUpdate ModuleTag_12 ;No data End Behavior = SpecialAbility ModuleTag_13 SpecialPowerTemplate = SpecialAbilityChangeBattlePlans UpdateModuleStartsAttack = Yes End Behavior = BattlePlanUpdate ModuleTag_14 SpecialPowerTemplate = SpecialAbilityChangeBattlePlans ;Transition Timings BombardmentPlanAnimationTime = 7000 HoldTheLinePlanAnimationTime = 7000 SearchAndDestroyPlanAnimationTime = 7000 TransitionIdleTime = 0 ;Messages BombardmentMessageLabel = MESSAGE:BattlePlanBombardmentInitiated HoldTheLineMessageLabel = MESSAGE:BattlePlanHoldTheLineInitiated SearchAndDestroyMessageLabel = MESSAGE:BattlePlanSearchAndDestroyInitiated ;Audio hooks BombardmentPlanUnpackSoundName = StrategyCenter_BombardmentPlanUnpackSound BombardmentPlanPackSoundName = StrategyCenter_BombardmentPlanPackSound BombardmentAnnouncementName = StrategyCenter_BombardmentPlanAnnouncement SearchAndDestroyPlanUnpackSoundName = StrategyCenter_SearchAndDestroyPlanUnpack SearchAndDestroyPlanIdleLoopSoundName = StrategyCenter_SearchAndDestroyPlanIdleLoop SearchAndDestroyPlanPackSoundName = StrategyCenter_SearchAndDestroyPlanPack SearchAndDestroyAnnouncementName = StrategyCenter_SearchAndDestroyAnnouncement HoldTheLinePlanUnpackSoundName = StrategyCenter_HoldTheLinePlanUnpack HoldTheLinePlanPackSoundName = StrategyCenter_HoldTheLinePlanPack HoldTheLineAnnouncementName = StrategyCenter_HoldTheLineAnnouncement ;Army bonuses granted by different battle plans ValidMemberKindOf = INFANTRY CAN_ATTACK VEHICLE ;Battle plans affect any kind of these... InvalidMemberKindOf = DOZER STRUCTURE AIRCRAFT DRONE ;...but make sure they don't have any of these BattlePlanChangeParalyzeTime = 5000 ;Subjected to paralyzation whenever a battle plan is changed. HoldTheLinePlanArmorDamageScalar = 0.9 ;Armor damage bonus scalar -- LESS is better! SearchAndDestroyPlanSightRangeScalar = 1.2 ;Sight range bonus -- more is better! ;***NOTE*** WEAPON bonuses for army are specified in GameData.ini file! ;Building bonuses granted based on battle plan mode. StrategyCenterSearchAndDestroySightRangeScalar = 2.0 StrategyCenterSearchAndDestroyDetectsStealth = Yes StrategyCenterHoldTheLineMaxHealthScalar = 2.0 StrategyCenterHoldTheLineMaxHealthChangeType = PRESERVE_RATIO ;Revealing info ;VisionObjectName = VisionObject End Behavior = AIUpdateInterface ModuleTag_15 Turret ControlledWeaponSlots = PRIMARY TurretTurnRate = 60 // turn rate, in degrees per sec TurretPitchRate = 60 AllowsPitch = Yes FiresWhileTurning = Yes NaturalTurretPitch = 45 ; this keeps it aimed half way between land and sky ; since you never know from whence cometh danger NaturalTurretAngle = -90 ; this turret points backwards normally FirePitch = 45 ; Instead of aiming pitchwise at the target, it will aim here MinIdleScanInterval = 500 ; in milliseconds MaxIdleScanInterval = 1000 ; in milliseconds MinIdleScanAngle = 0 ; in degrees off the natural turret angle MaxIdleScanAngle = 60 ; in degrees off the natural turret angle End AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS End Behavior = StealthDetectorUpdate ModuleTag_16 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) InitiallyDisabled = Yes ; only will be active when search & destroy plan active. DetectionRange = 500 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = SpyVisionSpecialPower SpyTag_1 SpecialPowerTemplate = SuperweaponCIAIntelligence BaseDuration = 30000 ;in milliseconds BonusDurationPerCaptured = 10000 ;in milliseconds MaxDuration = 240000 ;in milliseconds End Behavior = SpyVisionUpdate SpyTag_2 ; End Behavior = DestroyDie ModuleTag_17 ;nothing End Behavior = CreateObjectDie ModuleTag_18 CreationList = OCL_ABPowerPlantExplode End Behavior = CreateObjectDie ModuleTag_19 CreationList = AirF_OCL_AmericanRangerDebris04 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_20 DeathFX = FX_StructureMediumDeath End Behavior = FlammableUpdate ModuleTag_22 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_23 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = OCLSpecialPower ModuleTag_24;this has been removed from everywhere but the ChinaAirfield in CHI05 SpecialPowerTemplate = AirF_SuperweaponCarpetBomb OCL = AirF_SUPERWEAPON_CarpetBomb CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Geometry = BOX GeometryMajorRadius = 62.0 GeometryMinorRadius = 44.0 GeometryHeight = 24.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object AirF_AmericaAirfield ; *** ART Parameters *** SelectPortrait = SAACommand_L ButtonImage = SAACommand Draw = W3DModelDraw ModuleTag_01 ExtraPublicBone = Runway1Parking1 ExtraPublicBone = Runway1Parking2 ExtraPublicBone = Runway2Parking1 ExtraPublicBone = Runway2Parking2 ExtraPublicBone = Runway1Park1Han ExtraPublicBone = Runway1Park2Han ExtraPublicBone = Runway2Park1Han ExtraPublicBone = Runway2Park2Han ExtraPublicBone = Runway1Prep1 ExtraPublicBone = Runway1Prep2 ExtraPublicBone = Runway2Prep1 ExtraPublicBone = Runway2Prep2 ExtraPublicBone = RunwayStart1 ExtraPublicBone = RunwayStart2 ExtraPublicBone = RunwayEnd1 ExtraPublicBone = RunwayEnd2 ExtraPublicBone = HeliPark01 OkToChangeModelColor = Yes ; day ******************************************** DefaultConditionState Model = ABArFrcCmd Animation = ABArFrcCmd.ABArFrcCmd AnimationMode = LOOP End ConditionState = DAMAGED Model = ABArFrcCmd_D Animation = ABArFrcCmd_D.ABArFrcCmd_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = ABArFrcCmd_E Animation = ABArFrcCmd_E.ABArFrcCmd_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmokeFactionLarge ParticleSysBone = Smoke06 SmokeFactionLarge ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 FireFactionLarge ParticleSysBone = Spark01 SparksLarge End ConditionState = SNOW Model = ABArFrcCmd_S Animation = ABArFrcCmd_S.ABArFrcCmd_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABArFrcCmd_DS Animation = ABArFrcCmd_DS.ABArFrcCmd_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABArFrcCmd_ES Animation = ABArFrcCmd_ES.ABArFrcCmd_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmokeFactionLarge ParticleSysBone = Smoke06 SmokeFactionLarge ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 FireFactionLarge ParticleSysBone = Spark01 SparksLarge End ; night ****************************************** ConditionState = NIGHT Model = ABArFrcCmd_N Animation = ABArFrcCmd_N.ABArFrcCmd_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = ABArFrcCmd_ND Animation = ABArFrcCmd_ND.ABArFrcCmd_ND AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABArFrcCmd_NE Animation = ABArFrcCmd_NE.ABArFrcCmd_NE AnimationMode = LOOP End ConditionState = NIGHT SNOW Model = ABArFrcCmd_NS Animation = ABArFrcCmd_NS.ABArFrcCmd_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = ABArFrcCmd_NDS Animation = ABArFrcCmd_NDS.ABArFrcCmd_NDS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABArFrcCmd_NES Animation = ABArFrcCmd_NES.ABArFrcCmd_NES AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd Animation = ABArFrcCmd.ABArFrcCmd AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABArFrcCmd_D Animation = ABArFrcCmd_D.ABArFrcCmd_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABArFrcCmd_E Animation = ABArFrcCmd_E.ABArFrcCmd_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABArFrcCmd_N Animation = ABArFrcCmd_N.ABArFrcCmd_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABArFrcCmd_ND Animation = ABArFrcCmd_ND.ABArFrcCmd_ND AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABArFrcCmd_NE Animation = ABArFrcCmd_NE.ABArFrcCmd_NE AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABArFrcCmd_S Animation = ABArFrcCmd_S.ABArFrcCmd_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABArFrcCmd_DS Animation = ABArFrcCmd_DS.ABArFrcCmd_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABArFrcCmd_ES Animation = ABArFrcCmd_ES.ABArFrcCmd_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABArFrcCmd_NS Animation = ABArFrcCmd_NS.ABArFrcCmd_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABArFrcCmd_NDS Animation = ABArFrcCmd_NDS.ABArFrcCmd_NDS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABArFrcCmd_NES Animation = ABArFrcCmd_NES.ABArFrcCmd_NES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ blinky production lights ----------------- Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = None End ConditionState = ACTIVELY_CONSTRUCTING Model = ABArFrcCmd_A9 Animation = ABArFrcCmd_A9.ABArFrcCmd_A9 AnimationMode = LOOP End End ; ----------------- door #1 ------------------- Draw = W3DModelDraw ModuleTag_03 ConditionState = NONE Model = ABArFrcCmd_A7 Animation = ABArFrcCmd_A7.ABArFrcCmd_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = ABArFrcCmd_A7 Animation = ABArFrcCmd_A7.ABArFrcCmd_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = NIGHT SNOW DOOR_1_OPENING AliasConditionState = NIGHT DAMAGED DOOR_1_OPENING AliasConditionState = SNOW DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING ConditionState = DOOR_1_CLOSING Model = ABArFrcCmd_A7 Animation = ABArFrcCmd_A7.ABArFrcCmd_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DOOR_1_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_1_CLOSING AliasConditionState = SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING ConditionState = DOOR_1_WAITING_OPEN Model = ABArFrcCmd_A7 Animation = ABArFrcCmd_A7.ABArFrcCmd_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABArFrcCmd_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABArFrcCmd_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- door #2 ------------------- Draw = W3DModelDraw ModuleTag_04 DefaultConditionState Model = ABArFrcCmd_A8 Animation = ABArFrcCmd_A8.ABArFrcCmd_A8 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_2_OPENING Model = ABArFrcCmd_A8 Animation = ABArFrcCmd_A8.ABArFrcCmd_A8 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_2_OPENING AliasConditionState = SNOW DOOR_2_OPENING AliasConditionState = NIGHT SNOW DOOR_2_OPENING AliasConditionState = NIGHT DAMAGED DOOR_2_OPENING AliasConditionState = SNOW DAMAGED DOOR_2_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING ConditionState = DOOR_2_CLOSING Model = ABArFrcCmd_A8 Animation = ABArFrcCmd_A8.ABArFrcCmd_A8 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_2_CLOSING AliasConditionState = SNOW DOOR_2_CLOSING AliasConditionState = NIGHT SNOW DOOR_2_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_2_CLOSING AliasConditionState = SNOW DAMAGED DOOR_2_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING ConditionState = DOOR_2_WAITING_OPEN Model = ABArFrcCmd_A8 Animation = ABArFrcCmd_A8.ABArFrcCmd_A8 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_2_WAITING_OPEN AliasConditionState = SNOW DOOR_2_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_2_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_2_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_2_WAITING_OPEN AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_OPEN AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABArFrcCmd_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABArFrcCmd_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- door #3 ------------------- Draw = W3DModelDraw ModuleTag_05 DefaultConditionState Model = ABArFrcCmd_A2 Animation = ABArFrcCmd_A2.ABArFrcCmd_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_3_OPENING Model = ABArFrcCmd_A2 Animation = ABArFrcCmd_A2.ABArFrcCmd_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_3_OPENING AliasConditionState = SNOW DOOR_3_OPENING AliasConditionState = NIGHT SNOW DOOR_3_OPENING AliasConditionState = NIGHT DAMAGED DOOR_3_OPENING AliasConditionState = SNOW DAMAGED DOOR_3_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING ConditionState = DOOR_3_CLOSING Model = ABArFrcCmd_A2 Animation = ABArFrcCmd_A2.ABArFrcCmd_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_3_CLOSING AliasConditionState = SNOW DOOR_3_CLOSING AliasConditionState = NIGHT SNOW DOOR_3_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_3_CLOSING AliasConditionState = SNOW DAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING ConditionState = DOOR_3_WAITING_OPEN Model = ABArFrcCmd_A2 Animation = ABArFrcCmd_A2.ABArFrcCmd_A2 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_3_WAITING_OPEN AliasConditionState = SNOW DOOR_3_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_3_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_3_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_3_WAITING_OPEN AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A2 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABArFrcCmd_A2 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABArFrcCmd_A2 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- door #4 ------------------- Draw = W3DModelDraw ModuleTag_06 DefaultConditionState Model = ABArFrcCmd_A3 Animation = ABArFrcCmd_A3.ABArFrcCmd_A3 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_4_OPENING Model = ABArFrcCmd_A3 Animation = ABArFrcCmd_A3.ABArFrcCmd_A3 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_4_OPENING AliasConditionState = SNOW DOOR_4_OPENING AliasConditionState = NIGHT SNOW DOOR_4_OPENING AliasConditionState = NIGHT DAMAGED DOOR_4_OPENING AliasConditionState = SNOW DAMAGED DOOR_4_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_4_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_4_OPENING ConditionState = DOOR_4_CLOSING Model = ABArFrcCmd_A3 Animation = ABArFrcCmd_A3.ABArFrcCmd_A3 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_4_CLOSING AliasConditionState = SNOW DOOR_4_CLOSING AliasConditionState = NIGHT SNOW DOOR_4_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_4_CLOSING AliasConditionState = SNOW DAMAGED DOOR_4_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_4_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_4_CLOSING ConditionState = DOOR_4_WAITING_OPEN Model = ABArFrcCmd_A3 Animation = ABArFrcCmd_A3.ABArFrcCmd_A3 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_4_WAITING_OPEN AliasConditionState = SNOW DOOR_4_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_4_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_4_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_4_WAITING_OPEN AliasConditionState = NIGHT SNOW DAMAGED DOOR_4_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A3 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABArFrcCmd_A3 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABArFrcCmd_A3 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A4 Animation = ABArFrcCmd_A4.ABArFrcCmd_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A4N Animation = ABArFrcCmd_A4N.ABArFrcCmd_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A4S Animation = ABArFrcCmd_A4S.ABArFrcCmd_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A4SN ; @todo srj -- missing Animation = ABArFrcCmd_A4SN.ABArFrcCmd_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABArFrcCmd_A4 Animation = ABArFrcCmd_A4.ABArFrcCmd_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABArFrcCmd_A4N Animation = ABArFrcCmd_A4N.ABArFrcCmd_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABArFrcCmd_A4S Animation = ABArFrcCmd_A4S.ABArFrcCmd_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABArFrcCmd_A4SN ; @todo srj -- missing Animation = ABArFrcCmd_A4SN.ABArFrcCmd_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABArFrcCmd_A4 Animation = ABArFrcCmd_A4.ABArFrcCmd_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABArFrcCmd_A4N Animation = ABArFrcCmd_A4N.ABArFrcCmd_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABArFrcCmd_A4S Animation = ABArFrcCmd_A4S.ABArFrcCmd_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABArFrcCmd_A4SN ; @todo srj -- missing Animation = ABArFrcCmd_A4SN.ABArFrcCmd_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_08 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABArFrcCmd_A6 Animation = ABArFrcCmd_A6.ABArFrcCmd_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABArFrcCmd_A6N Animation = ABArFrcCmd_A6N.ABArFrcCmd_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABArFrcCmd_A6S Animation = ABArFrcCmd_A6S.ABArFrcCmd_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABArFrcCmd_A6SN ; @todo srj -- missing Animation = ABArFrcCmd_A6SN.ABArFrcCmd_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABArFrcCmd_A6 Animation = ABArFrcCmd_A6.ABArFrcCmd_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABArFrcCmd_A6N Animation = ABArFrcCmd_A6N.ABArFrcCmd_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABArFrcCmd_A6S Animation = ABArFrcCmd_A6S.ABArFrcCmd_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABArFrcCmd_A6SN ; @todo srj -- missing Animation = ABArFrcCmd_A6SN.ABArFrcCmd_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABArFrcCmd_A6 Animation = ABArFrcCmd_A6.ABArFrcCmd_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABArFrcCmd_A6N Animation = ABArFrcCmd_A6N.ABArFrcCmd_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABArFrcCmd_A6S Animation = ABArFrcCmd_A6S.ABArFrcCmd_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABArFrcCmd_A6SN ; @todo srj -- missing Animation = ABArFrcCmd_A6SN.ABArFrcCmd_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_09 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A5 Animation = ABArFrcCmd_A5.ABArFrcCmd_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A5N Animation = ABArFrcCmd_A5N.ABArFrcCmd_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A5S Animation = ABArFrcCmd_A5S.ABArFrcCmd_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A5SN Animation = ABArFrcCmd_A5SN.ABArFrcCmd_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABArFrcCmd_AB Animation = ABArFrcCmd_AB.ABArFrcCmd_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABArFrcCmd_ABN Animation = ABArFrcCmd_ABN.ABArFrcCmd_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABArFrcCmd_ABS ; @todo srj -- not found Animation = ABArFrcCmd_ABS.ABArFrcCmd_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABArFrcCmd_ABSN Animation = ABArFrcCmd_ABSN.ABArFrcCmd_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABArFrcCmd_AB Animation = ABArFrcCmd_AB.ABArFrcCmd_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABArFrcCmd_ABN Animation = ABArFrcCmd_ABN.ABArFrcCmd_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABArFrcCmd_ABS ; @todo srj -- not found Animation = ABArFrcCmd_ABS.ABArFrcCmd_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABArFrcCmd_ABS Animation = ABArFrcCmd_ABS.ABArFrcCmd_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:Airfield Side = AmericaAirForceGeneral EditorSorting = STRUCTURE Prerequisites Object = AirF_AmericaSupplyCenter End BuildCost = 800 BuildTime = 30.0 ; in seconds EnergyProduction = -1 CommandSet = AirF_AmericaAirfieldCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 150 150 150 150 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = AirfieldUSASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_AIRFIELD SCORE CAPTURABLE FS_FACTORY MP_COUNT_FOR_VICTORY AUTO_RALLYPOINT Body = StructureBody ModuleTag_10 MaxHealth = 2500.0 InitialHealth = 2500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2700 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ParkingPlaceBehavior ModuleTag_11 HealAmountPerSecond = 10 NumRows = 2 NumCols = 2 HasRunways = Yes ApproachHeight = 50 End Behavior = ProductionUpdate ModuleTag_12 NumDoorAnimations = 4 DoorOpeningTime = 2000 ;in mSeconds DoorWaitOpenTime = 3000 ;in mSeconds DoorCloseTime = 2000 ;in mSeconds ConstructionCompleteDuration = 1000 ;in mSeconds End Behavior = BaseRegenerateUpdate ModuleTag_13 ;No data End Behavior = DestroyDie ModuleTag_14 ;nothing End Behavior = CreateObjectDie ModuleTag_15 CreationList = OCL_ABPowerPlantExplode End Behavior = CreateObjectDie ModuleTag_16 CreationList = AirF_OCL_AmericanRangerDebris02 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_17 DeathFX = FX_StructureMediumDeath End Behavior = FlammableUpdate ModuleTag_19 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_31 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 112.0 GeometryMinorRadius = 74.0 GeometryHeight = 25.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object AirF_AmericaSupplyCenter ; *** ART Parameters *** SelectPortrait = SASupplyCntr_L ButtonImage = SASupplyCntr UpgradeCameo1 = Upgrade_AmericaSupplyLines Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ************************************** ConditionState = NONE Model = ABSupplyCT Animation = ABSupplyCT.ABSupplyCT AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED Model = ABSupplyCT_D Animation = ABSupplyCT_D.ABSupplyCT_D AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = ABSupplyCT_E Animation = ABSupplyCT_E.ABSupplyCT_E AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ; day Snow ************************************** ConditionState = SNOW Model = ABSupplyCT_S Animation = ABSupplyCT_S.ABSupplyCT_S AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED SNOW Model = ABSupplyCT_DS Animation = ABSupplyCT_DS.ABSupplyCT_DS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABSupplyCT_ES Animation = ABSupplyCT_ES.ABSupplyCT_ES AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ; Night ************************************* ConditionState = NIGHT Model = ABSupplyCT_N Animation = ABSupplyCT_N.ABSupplyCT_N AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED NIGHT Model = ABSupplyCT_DN Animation = ABSupplyCT_DN.ABSupplyCT_DN AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABSupplyCT_EN Animation = ABSupplyCT_EN.ABSupplyCT_EN AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; Night Snow************************************* ConditionState = NIGHT SNOW Model = ABSupplyCT_NS Animation = ABSupplyCT_NS.ABSupplyCT_NS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED NIGHT SNOW Model = ABSupplyCT_DNS Animation = ABSupplyCT_DNS.ABSupplyCT_DNS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABSupplyCT_ENS Animation = ABSupplyCT_ENS.ABSupplyCT_ENS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT Animation = ABSupplyCT.ABSupplyCT AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABSupplyCT_D Animation = ABSupplyCT_D.ABSupplyCT_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABSupplyCT_E Animation = ABSupplyCT_E.ABSupplyCT_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABSupplyCT_N Animation = ABSupplyCT_N.ABSupplyCT_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABSupplyCT_DN Animation = ABSupplyCT_DN.ABSupplyCT_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABSupplyCT_EN Animation = ABSupplyCT_EN.ABSupplyCT_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABSupplyCT_S Animation = ABSupplyCT_S.ABSupplyCT_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABSupplyCT_DS Animation = ABSupplyCT_DS.ABSupplyCT_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABSupplyCT_ES Animation = ABSupplyCT_ES.ABSupplyCT_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABSupplyCT_NS Animation = ABSupplyCT_NS.ABSupplyCT_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABSupplyCT_DNS Animation = ABSupplyCT_DNS.ABSupplyCT_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABSupplyCT_ENS Animation = ABSupplyCT_ENS.ABSupplyCT_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A4 Animation = ABSupplyCT_A4.ABSupplyCT_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A4N Animation = ABSupplyCT_A4N.ABSupplyCT_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A4S Animation = ABSupplyCT_A4S.ABSupplyCT_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A4SN Animation = ABSupplyCT_A4SN.ABSupplyCT_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupplyCT_A4 Animation = ABSupplyCT_A4.ABSupplyCT_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupplyCT_A4N Animation = ABSupplyCT_A4N.ABSupplyCT_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupplyCT_A4S Animation = ABSupplyCT_A4S.ABSupplyCT_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupplyCT_A4SN Animation = ABSupplyCT_A4SN.ABSupplyCT_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupplyCT_A4 Animation = ABSupplyCT_A4.ABSupplyCT_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupplyCT_A4N Animation = ABSupplyCT_A4N.ABSupplyCT_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupplyCT_A4S Animation = ABSupplyCT_A4S.ABSupplyCT_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupplyCT_A4SN Animation = ABSupplyCT_A4SN.ABSupplyCT_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABSupplyCT_A6 Animation = ABSupplyCT_A6.ABSupplyCT_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABSupplyCT_A6N Animation = ABSupplyCT_A6N.ABSupplyCT_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABSupplyCT_A6S Animation = ABSupplyCT_A6S.ABSupplyCT_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABSupplyCT_A6SN Animation = ABSupplyCT_A6SN.ABSupplyCT_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupplyCT_A6 Animation = ABSupplyCT_A6.ABSupplyCT_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupplyCT_A6N Animation = ABSupplyCT_A6N.ABSupplyCT_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupplyCT_A6S Animation = ABSupplyCT_A6S.ABSupplyCT_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupplyCT_A6SN Animation = ABSupplyCT_A6SN.ABSupplyCT_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupplyCT_A6 Animation = ABSupplyCT_A6.ABSupplyCT_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupplyCT_A6N Animation = ABSupplyCT_A6N.ABSupplyCT_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupplyCT_A6S Animation = ABSupplyCT_A6S.ABSupplyCT_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupplyCT_A6SN Animation = ABSupplyCT_A6SN.ABSupplyCT_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A5 Animation = ABSupplyCT_A5.ABSupplyCT_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A5N Animation = ABSupplyCT_A5N.ABSupplyCT_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A5S Animation = ABSupplyCT_A5S.ABSupplyCT_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A5SN Animation = ABSupplyCT_A5SN.ABSupplyCT_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupplyCT_AB Animation = ABSupplyCT_AB.ABSupplyCT_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupplyCT_ABN Animation = ABSupplyCT_ABN.ABSupplyCT_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupplyCT_ABS Animation = ABSupplyCT_ABS.ABSupplyCT_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupplyCT_ABSN Animation = ABSupplyCT_ABSN.ABSupplyCT_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupplyCT_AB Animation = ABSupplyCT_AB.ABSupplyCT_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupplyCT_ABN Animation = ABSupplyCT_ABN.ABSupplyCT_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupplyCT_ABS Animation = ABSupplyCT_ABS.ABSupplyCT_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupplyCT_ABSN Animation = ABSupplyCT_ABSN.ABSupplyCT_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ Grabbing box crane arm ----------------- Draw = W3DModelDraw ModuleTag_19 OkToChangeModelColor = Yes ConditionState = NONE ; sit there Model = ABSupplyCT_A8 Animation = ABSupplyCT_A8.ABSupplyCT_A8 AnimationMode = LOOP Flags = START_FRAME_FIRST ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT WaitForStateToFinishIfPossible = TRANS_Playing End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = DAMAGED AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = REALLYDAMAGED RUBBLE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOCKING_ACTIVE ; play arm box anim once Model = ABSupplyCT_A7 Animation = ABSupplyCT_A7.ABSupplyCT_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST TransitionKey = TRANS_Playing End AliasConditionState = NIGHT DOCKING_ACTIVE AliasConditionState = SNOW DOCKING_ACTIVE AliasConditionState = NIGHT SNOW DOCKING_ACTIVE AliasConditionState = DAMAGED DOCKING_ACTIVE AliasConditionState = NIGHT DAMAGED DOCKING_ACTIVE AliasConditionState = SNOW DAMAGED DOCKING_ACTIVE AliasConditionState = NIGHT SNOW DAMAGED DOCKING_ACTIVE AliasConditionState = REALLYDAMAGED RUBBLE DOCKING_ACTIVE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOCKING_ACTIVE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOCKING_ACTIVE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOCKING_ACTIVE End ; ------------ Spinny Belt ----------------- Draw = W3DModelDraw ModuleTag_SpinnyBelt OkToChangeModelColor = Yes ConditionState = NONE ; sit there Model = ABSupplyCT_A9 Animation = ABSupplyCT_A9.ABSupplyCT_A9 AnimationMode = LOOP End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = DAMAGED AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = REALLYDAMAGED RUBBLE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A9 Animation = ABSupplyCT_A9.ABSupplyCT_A9 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:SupplyCenter Side = AmericaAirForceGeneral EditorSorting = STRUCTURE Prerequisites Object = AirF_AmericaPowerPlant End BuildCost = 2000 RefundValue = 400 ; With nothing (or zero) listed, we sell for half price. BuildTime = 10.0 ; in seconds EnergyProduction = -1 CommandSet = AirF_AmericaSupplyCenterCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = SupplyCenterUSASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CASH_GENERATOR SCORE CAPTURABLE FS_POWER AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY CANNOT_BUILD_NEAR_SUPPLIES FS_SUPPLY_CENTER Body = StructureBody ModuleTag_05 MaxHealth = 2000.0 InitialHealth = 2000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = SupplyCenterCreate ModuleTag_06 ;nothing End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = AirF_OCL_AmericanRangerDebris03 ExemptStatus = UNDER_CONSTRUCTION End Behavior = ProductionUpdate ModuleTag_09 ; nothing End Behavior = SupplyCenterProductionExitUpdate ModuleTag_10 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 44.0 Y: 0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = BaseRegenerateUpdate ModuleTag_11 ;No data End Behavior = SpawnBehavior ModuleTag_12 SpawnNumber = 1 SpawnReplaceDelay = 9999 SpawnTemplateName = AFG_AmericaVehicleChinook OneShot = Yes CanReclaimOrphans = No SlavesHaveFreeWill = Yes End Behavior = SupplyCenterDockUpdate ModuleTag_13 NumberApproachPositions = 9 ; There are 9 approach bones in the art End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = CreateObjectDie ModuleTag_16 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_17 DeathFX = FX_StructureSmallDeath End Behavior = TransitionDamageFX ModuleTag_18 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = BOX GeometryMajorRadius = 44.0 GeometryMinorRadius = 45.0 GeometryHeight = 24.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object AirF_AmericaSupplyDropZone ; *** ART Parameters *** SelectPortrait = SADropZone_L ButtonImage = SADropZone UpgradeCameo1 = Upgrade_AmericaSupplyLines Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = ABSupDrop ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop.ABSupDrop AnimationMode = LOOP End ConditionState = DAMAGED Model = ABSupDrop_D ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_D.ABSupDrop_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = ABSupDrop_E ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_E.ABSupDrop_E AnimationMode = LOOP End ConditionState = NIGHT Model = ABSupDrop_N ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_N.ABSupDrop_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = ABSupDrop_DN ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_DN.ABSupDrop_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABSupDrop_EN ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_EN.ABSupDrop_EN AnimationMode = LOOP End ;----------- SNOW ConditionState = SNOW Model = ABSupDrop_S ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_S.ABSupDrop_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABSupDrop_DS ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_DS.ABSupDrop_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABSupDrop_ES ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_ES.ABSupDrop_ES AnimationMode = LOOP End ;---------- SNOW NIGHT ConditionState = NIGHT SNOW Model = ABSupDrop_NS ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_NS.ABSupDrop_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = ABSupDrop_DNS ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_DNS.ABSupDrop_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABSupDrop_ENS ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_ENS.ABSupDrop_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop Animation = ABSupDrop.ABSupDrop AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABSupDrop_D Animation = ABSupDrop_D.ABSupDrop_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABSupDrop_E Animation = ABSupDrop_E.ABSupDrop_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABSupDrop_N Animation = ABSupDrop_N.ABSupDrop_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABSupDrop_DN Animation = ABSupDrop_DN.ABSupDrop_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABSupDrop_EN Animation = ABSupDrop_EN.ABSupDrop_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABSupDrop_S Animation = ABSupDrop_S.ABSupDrop_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABSupDrop_DS Animation = ABSupDrop_DS.ABSupDrop_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABSupDrop_ES Animation = ABSupDrop_ES.ABSupDrop_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABSupDrop_NS Animation = ABSupDrop_NS.ABSupDrop_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABSupDrop_DNS Animation = ABSupDrop_DNS.ABSupDrop_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABSupDrop_ENS Animation = ABSupDrop_ENS.ABSupDrop_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:AmericaSupplyDropZone Side = AmericaAirForceGeneral EditorSorting = STRUCTURE BuildCost = 2500 BuildTime = 45.0 ; in seconds Prerequisites Object = AirF_AmericaStrategyCenter End EnergyProduction = -4 ShroudClearingRange = 100 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = SupplyDropZoneSelect UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** ; Please note that this structure is not a kindof IMMUNE_TO_CAPTURE, ther is code that allows ; CAPTURABLE+STRUCTUES, and FS_TECHNOLOGY kindofs to be disabled, unless explicitly IMMUNE_TO_CAPTURE... ; If this boggles too much, then it is time for a KINDOF_DISABLEABLE!--ML KindOf = STRUCTURE SELECTABLE IMMOBILE SCORE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY FS_SUPPLY_DROPZONE RadarPriority = STRUCTURE Body = ActiveBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = OCLUpdate ModuleTag_05 ; Context window is a reaction to this, no CommandSet OCL = OCL_AmericaSupplyDropZoneCrateDrop MinDelay = 120000 MaxDelay = 120000 CreateAtEdge = Yes ; as opposed to just creating on self End Behavior = DestroyDie ModuleTag_06 End Behavior = CreateObjectDie ModuleTag_07 CreationList = AirF_OCL_AmericanRangerDebris03 ExemptStatus = UNDER_CONSTRUCTION End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FlammableUpdate ModuleTag_09 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = BaseRegenerateUpdate ModuleTag_11 ;No data End Behavior = TransitionDamageFX ModuleTag_31 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = BOX GeometryMajorRadius = 27.0 GeometryMinorRadius = 27.0 GeometryHeight = 9.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME End ;------------------------------------------------------------------------------ Object AirF_AmericaBarracks ; *** ART Parameters *** SelectPortrait = SABarracks_L ButtonImage = SABarracks PlacementViewAngle = -45 ;Main barracks model Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;DAY ******************************* ConditionState = NONE Model = ABBARRACKS Animation = ABBarracks.ABBarracks AnimationMode = LOOP End ConditionState = DAMAGED Model = ABBarracks_D Animation = ABBarracks_D.ABBarracks_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = ABBarracks_E Animation = ABBarracks_E.ABBarracks_E AnimationMode = LOOP End ;NIGHT ***************************** ConditionState = NIGHT Model = ABBARRACKS_N Animation = ABBarracks_N.ABBarracks_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = ABBarracks_DN Animation = ABBarracks_DN.ABBarracks_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABBarracks_EN Animation = ABBarracks_EN.ABBarracks_EN AnimationMode = LOOP End ;SNOW ****************************** ConditionState = SNOW Model = ABBARRACKS_S Animation = ABBarracks_S.ABBarracks_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABBarracks_DS Animation = ABBarracks_DS.ABBarracks_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABBarracks_ES Animation = ABBarracks_ES.ABBarracks_ES AnimationMode = LOOP End ;SNOW AND NIGHT ******************** ConditionState = SNOW NIGHT Model = ABBARRACKS_NS Animation = ABBarracks_NS.ABBarracks_NS AnimationMode = LOOP End ConditionState = DAMAGED SNOW NIGHT Model = ABBarracks_DNS Animation = ABBarracks_DNS.ABBarracks_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = ABBarracks_ENS Animation = ABBarracks_ENS.ABBarracks_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks Animation = ABBarracks.ABBarracks AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABBarracks_D Animation = ABBarracks_D.ABBarracks_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABBarracks_E Animation = ABBarracks_E.ABBarracks_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABBarracks_N Animation = ABBarracks_N.ABBarracks_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABBarracks_DN Animation = ABBarracks_DN.ABBarracks_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABBarracks_EN Animation = ABBarracks_EN.ABBarracks_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABBarracks_S Animation = ABBarracks_S.ABBarracks_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABBarracks_DS Animation = ABBarracks_DS.ABBarracks_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABBarracks_ES Animation = ABBarracks_ES.ABBarracks_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABBarracks_NS Animation = ABBarracks_NS.ABBarracks_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABBarracks_DNS Animation = ABBarracks_DNS.ABBarracks_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABBarracks_ENS Animation = ABBarracks_ENS.ABBarracks_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; Draw = W3DModelDraw ModuleTag_TestFlag ; DefaultConditionState ; Model = ABBarracks_FA ; Animation = ABBarracks_FA.ABBarracks_FA ; AnimationMode = LOOP ; End ; ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ; Model = None ; End ; End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A4 Animation = ABBarracks_A4.ABBarracks_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A4N Animation = ABBarracks_A4N.ABBarracks_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A4S Animation = ABBarracks_A4S.ABBarracks_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A4SN Animation = ABBarracks_A4SN.ABBarracks_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBarracks_A4 Animation = ABBarracks_A4.ABBarracks_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBarracks_A4N Animation = ABBarracks_A4N.ABBarracks_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBarracks_A4S Animation = ABBarracks_A4S.ABBarracks_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBarracks_A4SN Animation = ABBarracks_A4SN.ABBarracks_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBarracks_A4 Animation = ABBarracks_A4.ABBarracks_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBarracks_A4N Animation = ABBarracks_A4N.ABBarracks_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBarracks_A4S Animation = ABBarracks_A4S.ABBarracks_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABBarracks_A4SN Animation = ABBarracks_A4SN.ABBarracks_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABBarracks_A6 Animation = ABBarracks_A6.ABBarracks_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABBarracks_A6N Animation = ABBarracks_A6N.ABBarracks_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABBarracks_A6S Animation = ABBarracks_A6S.ABBarracks_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABBarracks_A6SN Animation = ABBarracks_A6SN.ABBarracks_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBarracks_A6 Animation = ABBarracks_A6.ABBarracks_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBarracks_A6N Animation = ABBarracks_A6N.ABBarracks_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBarracks_A6S Animation = ABBarracks_A6S.ABBarracks_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBarracks_A6SN Animation = ABBarracks_A6SN.ABBarracks_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBarracks_A6 Animation = ABBarracks_A6.ABBarracks_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBarracks_A6N Animation = ABBarracks_A6N.ABBarracks_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBarracks_A6S Animation = ABBarracks_A6S.ABBarracks_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABBarracks_A6SN Animation = ABBarracks_A6SN.ABBarracks_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A5 Animation = ABBarracks_A5.ABBarracks_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A5N Animation = ABBarracks_A5N.ABBarracks_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A5S Animation = ABBarracks_A5S.ABBarracks_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A5SN Animation = ABBarracks_A5SN.ABBarracks_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBarracks_AB Animation = ABBarracks_AB.ABBarracks_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBarracks_ABN Animation = ABBarracks_ABN.ABBarracks_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBarracks_ABS Animation = ABBarracks_ABS.ABBarracks_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBarracks_ABSN Animation = ABBarracks_ABSN.ABBarracks_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBarracks_AB Animation = ABBarracks_AB.ABBarracks_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBarracks_ABN Animation = ABBarracks_ABN.ABBarracks_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBarracks_ABS Animation = ABBarracks_ABS.ABBarracks_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABBarracks_ABSN Animation = ABBarracks_ABSN.ABBarracks_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:Barracks Side = AmericaAirForceGeneral EditorSorting = STRUCTURE BuildCost = 600 BuildTime = 10.0 ; in seconds EnergyProduction = 0 CommandSet = AirF_AmericaBarracksCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 100 100 100 100 ; Experience point value at each level Prerequisites ; Object = AirF_AmericaPowerPlant End ; *** AUDIO Parameters *** VoiceSelect = BarracksUSASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE HEAL_PAD SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_BARRACKS Body = StructureBody ModuleTag_05 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = HealContain ModuleTag_06 ContainMax = 10 ;way bigger than the # of objects we can have TimeForFullHeal = 2000 ;(in milliseconds) AllowInsideKindOf = INFANTRY AllowAlliesInside = Yes AllowNeutralInside = No AllowEnemiesInside = No End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = CreateObjectDie ModuleTag_09 CreationList = AirF_OCL_AmericanRangerDebris02 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = ProductionUpdate ModuleTag_11 ; nothing End Behavior = DefaultProductionExitUpdate ModuleTag_12 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 55.0 Y: 0.0 Z:0.0 End Behavior = BaseRegenerateUpdate ModuleTag_13 ;No data End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_16 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 55.0 GeometryMinorRadius = 45.0 GeometryHeight = 20.0 GeometryIsSmall = No FactoryExitWidth = 25 ; How much space to leave for units exiting. Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object AirF_AmericaWarFactory ; *** ART Parameters *** SelectPortrait = SACWeaponsfact_L ButtonImage = SACWeaponsfact ; ------------ the main factory itself ----------------- Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ************************************************** DefaultConditionState Model = ABWarFact Animation = ABWarFact.ABWarFact AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED Model = ABWarFact_D Animation = ABWarFact_D.ABWarFact_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = ABWarFact_E Animation = ABWarFact_E.ABWarFact_E AnimationMode = LOOP End ; night ************************************************* ConditionState = NIGHT Model = ABWarFact_N Animation = ABWarFact_N.ABWarFact_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = ABWarFact_DN Animation = ABWarFact_DN.ABWarFact_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABWarFact_EN Animation = ABWarFact_EN.ABWarFact_EN AnimationMode = LOOP End ; snow ************************************************* ConditionState = SNOW Model = ABWarFact_S Animation = ABWarFact_S.ABWarFact_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABWarFact_DS Animation = ABWarFact_DS.ABWarFact_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABWarFact_ES Animation = ABWarFact_ES.ABWarFact_ES AnimationMode = LOOP End ; night snow ************************************************* ConditionState = NIGHT SNOW Model = ABWarFact_NS Animation = ABWarFact_NS.ABWarFact_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = ABWarFact_DNS Animation = ABWarFact_DNS.ABWarFact_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABWarFact_ENS Animation = ABWarFact_ENS.ABWarFact_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact Animation = ABWarFact.ABWarFact AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABWarFact_D Animation = ABWarFact_D.ABWarFact_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABWarFact_E Animation = ABWarFact_E.ABWarFact_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABWarFact_N Animation = ABWarFact_N.ABWarFact_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABWarFact_DN Animation = ABWarFact_DN.ABWarFact_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABWarFact_EN Animation = ABWarFact_EN.ABWarFact_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABWarFact_S Animation = ABWarFact_S.ABWarFact_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABWarFact_DS Animation = ABWarFact_DS.ABWarFact_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABWarFact_ES Animation = ABWarFact_ES.ABWarFact_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABWarFact_NS Animation = ABWarFact_NS.ABWarFact_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABWarFact_DNS Animation = ABWarFact_DNS.ABWarFact_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABWarFact_ENS Animation = ABWarFact_ENS.ABWarFact_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- the factory door ------------------- Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = ABWarFact_A8 Animation = ABWarFact_A8.ABWarFact_A8 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ConditionState = DAMAGED Model = ABWarFact_A8D Animation = ABWarFact_A8D.ABWarFact_A8D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABWarFact_A8E Animation = ABWarFact_A8E.ABWarFact_A8E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = ABWarFact_A8 Animation = ABWarFact_A8.ABWarFact_A8 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = SNOW NIGHT DOOR_1_OPENING ConditionState = DOOR_1_OPENING DAMAGED Model = ABWarFact_A8D Animation = ABWarFact_A8D.ABWarFact_A8D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_OPENING DAMAGED ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = ABWarFact_A8E Animation = ABWarFact_A8E.ABWarFact_A8E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_CLOSING Model = ABWarFact_A8 Animation = ABWarFact_A8.ABWarFact_A8 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = SNOW NIGHT DOOR_1_CLOSING ConditionState = DOOR_1_CLOSING DAMAGED Model = ABWarFact_A8D Animation = ABWarFact_A8D.ABWarFact_A8D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_CLOSING DAMAGED ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = ABWarFact_A8E Animation = ABWarFact_A8E.ABWarFact_A8E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_OPEN Model = ABWarFact_A8 Animation = ABWarFact_A8.ABWarFact_A8 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = ABWarFact_A8D Animation = ABWarFact_A8D.ABWarFact_A8D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN DAMAGED ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = ABWarFact_A8E Animation = ABWarFact_A8E.ABWarFact_A8E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED End ; ------------------ the construction crane ------------ Draw = W3DModelDraw ModuleTag_03 ; ----------------------------------------------------------- OkToChangeModelColor = Yes ; ----------------------------------------------------------- DefaultConditionState Model = ABWarFact_A1 Animation = ABWarFact_A1.ABWarFact_A1 AnimationMode = LOOP TransitionKey = TRANS_Idle End ConditionState = DAMAGED Model = ABWarFact_A1D Animation = ABWarFact_A1D.ABWarFact_A1D AnimationMode = LOOP TransitionKey = TRANS_IdleDamaged End ConditionState = REALLYDAMAGED RUBBLE Model = ABWarFact_A1E Animation = ABWarFact_A1E.ABWarFact_A1E AnimationMode = LOOP TransitionKey = TRANS_IdleReallyDamaged End ; ----------------------------------------------------------- TransitionState = TRANS_Constructing TRANS_Idle Model = ABWarFact_A3 Animation = ABWarFact_A3.ABWarFact_A3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End TransitionState = TRANS_ConstructingDamaged TRANS_IdleDamaged Model = ABWarFact_A3D Animation = ABWarFact_A3D.ABWarFact_A3D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End TransitionState = TRANS_ConstructingReallyDamaged TRANS_IdleReallyDamaged Model = ABWarFact_A3E Animation = ABWarFact_A3E.ABWarFact_A3E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ; ----------------------------------------------------------- ConditionState = ACTIVELY_CONSTRUCTING Model = ABWarFact_A3 Animation = ABWarFact_A3.ABWarFact_A3 AnimationMode = ONCE TransitionKey = TRANS_Constructing Flags = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE End ConditionState = ACTIVELY_CONSTRUCTING DAMAGED Model = ABWarFact_A3D Animation = ABWarFact_A3D.ABWarFact_A3D AnimationMode = ONCE TransitionKey = TRANS_ConstructingDamaged Flags = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE End ConditionState = ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE Model = ABWarFact_A3E Animation = ABWarFact_A3E.ABWarFact_A3E AnimationMode = ONCE TransitionKey = TRANS_ConstructingReallyDamaged Flags = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE End ; ----------------------------------------------------------- ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SOLD Model = ABWarFact_A1 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = SOLD Model = NONE End End ; ------------------ the construction conveyor belt ------------ Draw = W3DModelDraw ModuleTag_04 OkToChangeModelColor = Yes DefaultConditionState Model = ABWarFact_A7 Animation = ABWarFact_A7.ABWarFact_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = SNOW AliasConditionState = NIGHT AliasConditionState = SNOW NIGHT ConditionState = SOLD Model = NONE End AliasConditionState = SNOW SOLD AliasConditionState = NIGHT SOLD AliasConditionState = SNOW NIGHT SOLD ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ConditionState = DAMAGED Model = ABWarFact_A7D Animation = ABWarFact_A7D.ABWarFact_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW NIGHT DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABWarFact_A7E Animation = ABWarFact_A7E.ABWarFact_A7E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState = ACTIVELY_CONSTRUCTING Model = ABWarFact_A7 Animation = ABWarFact_A7.ABWarFact_A7 AnimationMode = LOOP End AliasConditionState = SNOW ACTIVELY_CONSTRUCTING AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING ConditionState = ACTIVELY_CONSTRUCTING DAMAGED Model = ABWarFact_A7D Animation = ABWarFact_A7D.ABWarFact_A7D AnimationMode = LOOP End AliasConditionState = SNOW ACTIVELY_CONSTRUCTING DAMAGED AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING DAMAGED AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING DAMAGED ConditionState = ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE Model = ABWarFact_A7E Animation = ABWarFact_A7E.ABWarFact_A7E AnimationMode = LOOP End AliasConditionState = SNOW ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE End ; ------------ construction done flashing lights ---------- Draw = W3DModelDraw ModuleTag_05 DefaultConditionState Model = None End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End ConditionState = CONSTRUCTION_COMPLETE Model = ABWarFact_A2 Animation = ABWarFact_A2.ABWarFact_A2 AnimationMode = LOOP Flags = START_FRAME_FIRST End End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_06 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A4 Animation = ABWarFact_A4.ABWarFact_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A4N Animation = ABWarFact_A4N.ABWarFact_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A4S Animation = ABWarFact_A4S.ABWarFact_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A4SN Animation = ABWarFact_A4SN.ABWarFact_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABWarFact_A4 Animation = ABWarFact_A4.ABWarFact_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABWarFact_A4N Animation = ABWarFact_A4N.ABWarFact_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABWarFact_A4S Animation = ABWarFact_A4S.ABWarFact_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABWarFact_A4SN Animation = ABWarFact_A4SN.ABWarFact_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABWarFact_A4 Animation = ABWarFact_A4.ABWarFact_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABWarFact_A4N Animation = ABWarFact_A4N.ABWarFact_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABWarFact_A4S Animation = ABWarFact_A4S.ABWarFact_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABWarFact_A4SN Animation = ABWarFact_A4SN.ABWarFact_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABWarFact_A6 Animation = ABWarFact_A6.ABWarFact_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABWarFact_A6N Animation = ABWarFact_A6N.ABWarFact_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABWarFact_A6S Animation = ABWarFact_A6S.ABWarFact_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABWarFact_A6SN Animation = ABWarFact_A6SN.ABWarFact_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABWarFact_A6 Animation = ABWarFact_A6.ABWarFact_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABWarFact_A6N Animation = ABWarFact_A6N.ABWarFact_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABWarFact_A6S Animation = ABWarFact_A6S.ABWarFact_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABWarFact_A6SN Animation = ABWarFact_A6SN.ABWarFact_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABWarFact_A6 Animation = ABWarFact_A6.ABWarFact_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABWarFact_A6N Animation = ABWarFact_A6N.ABWarFact_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABWarFact_A6S Animation = ABWarFact_A6S.ABWarFact_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABWarFact_A6SN Animation = ABWarFact_A6SN.ABWarFact_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_08 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A5 Animation = ABWarFact_A5.ABWarFact_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A5N Animation = ABWarFact_A5N.ABWarFact_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A5S Animation = ABWarFact_A5S.ABWarFact_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A5SN Animation = ABWarFact_A5SN.ABWarFact_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABWarFact_AB Animation = ABWarFact_AB.ABWarFact_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABWarFact_ABN Animation = ABWarFact_ABN.ABWarFact_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABWarFact_ABS Animation = ABWarFact_ABS.ABWarFact_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABWarFact_ABSN Animation = ABWarFact_ABSN.ABWarFact_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABWarFact_AB Animation = ABWarFact_AB.ABWarFact_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABWarFact_ABN Animation = ABWarFact_ABN.ABWarFact_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABWarFact_ABS Animation = ABWarFact_ABS.ABWarFact_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABWarFact_ABSN Animation = ABWarFact_ABSN.ABWarFact_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:WarFactory Side = AmericaAirForceGeneral EditorSorting = STRUCTURE Prerequisites Object = AirF_AmericaSupplyCenter End BuildCost = 2000 BuildTime = 15.0 ; in seconds EnergyProduction = -1 CommandSet = AirF_AmericaWarFactoryCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = WarFactoryUSASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE REPAIR_PAD SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_WARFACTORY Body = StructureBody ModuleTag_09 MaxHealth = 2000.0 InitialHealth = 2000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ProductionUpdate ModuleTag_10 NumDoorAnimations = 1 DoorOpeningTime = 3250 ;in mSeconds DoorWaitOpenTime = 3000 ;in mSeconds DoorCloseTime = 4000 ;in mSeconds ConstructionCompleteDuration = 1500 ;in mSeconds End Behavior = DefaultProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: -10.0 Y:-30.0 Z:0.0 NaturalRallyPoint = X: 53.0 Y:-30.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RepairDockUpdate ModuleTag_12 TimeForFullHeal = 5000 ;(in milliseconds) NumberApproachPositions = 5 End Behavior = BaseRegenerateUpdate ModuleTag_13 ;No data End ;---- Removed module ; Behavior = SlowDeathBehavior ModuleTag_14 ; DestructionDelay = 500 ; FX = FINAL FX_StructureMediumDeath ; OCL = FINAL OCL_AmericaWarFactoryDebris ; End Behavior = TransitionDamageFX ModuleTag_15 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = CreateObjectDie ModuleTag_16 CreationList = AirF_OCL_AmericanRangerDebris05 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FlammableUpdate ModuleTag_18 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = CreateObjectDie ModuleTag_20 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_21 DeathFX = FX_StructureMediumDeath End Behavior = DestroyDie ModuleTag_22 ;nothing End Geometry = BOX GeometryMajorRadius = 53.0 GeometryMinorRadius = 60.0 GeometryHeight = 40.0 GeometryIsSmall = No FactoryExitWidth = 25 ; How much space to leave for units exiting. Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object AirF_AmericaPatriotBattery ; *** ART Parameters *** SelectPortrait = SAPatriot_L ButtonImage = SAPatriot Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = ABPatriot Turret = TURRET01 TurretPitch = TURRETEL WeaponLaunchBone = PRIMARY WeaponA WeaponLaunchBone = SECONDARY WeaponA WeaponLaunchBone = TERTIARY WeaponA WeaponFireFXBone = PRIMARY WeaponA WeaponFireFXBone = SECONDARY WeaponA WeaponFireFXBone = TERTIARY WeaponA End AliasConditionState = NIGHT ConditionState = DAMAGED Model = ABPatriot_D End AliasConditionState = DAMAGED NIGHT ConditionState = REALLYDAMAGED RUBBLE Model = ABPatriot_E End AliasConditionState = REALLYDAMAGED RUBBLE NIGHT ConditionState = SNOW Model = ABPatriot_S End AliasConditionState = SNOW NIGHT ConditionState = DAMAGED SNOW Model = ABPatriot_DS End AliasConditionState = SNOW NIGHT DAMAGED ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABPatriot_ES End AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPatriot Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABPatriot_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABPatriot_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW Model = ABPatriot_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABPatriot_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW Model = ABPatriot_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No ; Do not pause the construction anims when low power disabled DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPatriot_A4 Animation = ABPatriot_A4.ABPatriot_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPatriot_A4N Animation = ABPatriot_A4N.ABPatriot_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPatriot_A4S Animation = ABPatriot_A4S.ABPatriot_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPatriot_A4SN Animation = ABPatriot_A4SN.ABPatriot_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABPatriot_A4 Animation = ABPatriot_A4.ABPatriot_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABPatriot_A4N Animation = ABPatriot_A4N.ABPatriot_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABPatriot_A4S Animation = ABPatriot_A4S.ABPatriot_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABPatriot_A4SN Animation = ABPatriot_A4SN.ABPatriot_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABPatriot_A4 Animation = ABPatriot_A4.ABPatriot_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABPatriot_A4N Animation = ABPatriot_A4N.ABPatriot_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABPatriot_A4S Animation = ABPatriot_A4S.ABPatriot_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABPatriot_A4SN Animation = ABPatriot_A4SN.ABPatriot_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No ; Do not pause the construction anims when low power disabled MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABPatriot_A6 Animation = ABPatriot_A6.ABPatriot_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABPatriot_A6N Animation = ABPatriot_A6N.ABPatriot_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABPatriot_A6S Animation = ABPatriot_A6S.ABPatriot_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABPatriot_A6SN Animation = ABPatriot_A6SN.ABPatriot_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABPatriot_A6 Animation = ABPatriot_A6.ABPatriot_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABPatriot_A6N Animation = ABPatriot_A6N.ABPatriot_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABPatriot_A6S Animation = ABPatriot_A6S.ABPatriot_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABPatriot_A6SN Animation = ABPatriot_A6SN.ABPatriot_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABPatriot_A6 Animation = ABPatriot_A6.ABPatriot_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABPatriot_A6N Animation = ABPatriot_A6N.ABPatriot_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABPatriot_A6S Animation = ABPatriot_A6S.ABPatriot_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABPatriot_A6SN Animation = ABPatriot_A6SN.ABPatriot_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:PatriotBattery Side = AmericaAirForceGeneral EditorSorting = STRUCTURE Prerequisites Object = AirF_AmericaPowerPlant End BuildCost = 1000 BuildTime = 25.0 ; in seconds EnergyProduction = -3 WeaponSet Conditions = None Weapon = PRIMARY PatriotMissileWeapon Weapon = SECONDARY PatriotMissileAssistWeapon Weapon = TERTIARY PatriotMissileWeaponAir AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT AutoChooseSources = SECONDARY NONE AutoChooseSources = TERTIARY FROM_PLAYER FROM_AI FROM_SCRIPT PreferredAgainst = PRIMARY VEHICLE INFANTRY PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT PreferredAgainst = TERTIARY BALLISTIC_MISSILE AIRCRAFT ShareWeaponReloadTime = Yes End VisionRange = 360.0 ; Shroud clearing distance AND targeting range ShroudClearingRange = 360 ArmorSet Conditions = None Armor = BaseDefenseArmor DamageFX = StructureDamageFXNoShake End CommandSet = AmericaPatriotBatteryCommandSet ExperienceValue = 200 200 200 200 ; Experience point value at each level ;Behavior = AIUpdateInterface ModuleTag_20 ; AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS ; MoodAttackCheckRate = 250 ;End ; *** AUDIO Parameters *** VoiceSelect = PatriotBatterySelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) TurretMoveLoopLoud End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE SCORE FS_TECHNOLOGY POWERED FS_BASE_DEFENSE IMMUNE_TO_CAPTURE Body = StructureBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = StealthDetectorUpdate ModuleTag_13 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 200 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = BaseRegenerateUpdate ModuleTag_05 ;No data End Behavior = AIUpdateInterface ModuleTag_06 Turret TurretTurnRate = 180 // turn rate, in degrees per sec TurretPitchRate = 180 AllowsPitch = Yes NaturalTurretPitch = 45 GroundUnitPitch = 40 MinPhysicalPitch = -20 ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY MinIdleScanInterval = 250 ; in milliseconds MaxIdleScanInterval = 250 ; in milliseconds MinIdleScanAngle = 0 ; in degrees off the natural turret angle MaxIdleScanAngle = 360 ; in degrees off the natural turret angle End AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS; defensive weapon MoodAttackCheckRate = 250 End Behavior = AssistedTargetingUpdate ModuleTag_07 AssistingClipSize = 4 ; How many shots to make when asked by someone of my kind who has a RequestAssistRange weapon AssistingWeaponSlot = SECONDARY ; And the weapon to use. Should have huge range and no natural clip. LaserFromAssisted = AirF_PatriotBinaryDataStream ; Stream to draw from the requestor to me LaserToTarget = AirF_PatriotBinaryDataStream ; Stream to draw from me to the target End Behavior = DestroyDie ModuleTag_08 ;nothing End Behavior = CreateObjectDie ModuleTag_09 CreationList = AirF_OCL_AmericanRangerDebris03 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureTinyDeath End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_14 ;-------------DESIGNED FOR TINY SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionTinyExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionTinyShockwave End Geometry = CYLINDER GeometryMajorRadius = 12.0 GeometryMinorRadius = 1.0 GeometryHeight = 14.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ; Missiles used by the Patriot. This is the projectile attached to PatriotMissileWeapon in Weapon.ini ;------------------------------------------------------------------------------ Object AirF_PatriotMissile ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVRaptor_M End ConditionState = JAMMED ParticleSysBone = None SparksMedium End End ; ***DESIGN parameters *** DisplayName = OBJECT:PatriotMissile EditorSorting = VEHICLE VisionRange = 300.0 ShroudClearingRange = 0 ArmorSet Conditions = None Armor = ProjectileArmor DamageFX = None End ; *** ENGINEERING Parameters *** KindOf = CAN_CAST_REFLECTIONS PROJECTILE SMALL_MISSILE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 SubdualDamageCap = 200 SubdualDamageHealRate = 100000 SubdualDamageHealAmount = 50 End ; ---- begin Projectile death behaviors Behavior = InstantDeathBehavior DeathModuleTag_01 DeathTypes = NONE +DETONATED ; we detonated normally. ; no FX, just quiet destroy ourselves End Behavior = InstantDeathBehavior DeathModuleTag_02 DeathTypes = NONE +LASERED ; shot down by laser. FX = FX_GenericMissileDisintegrate OCL = OCL_GenericMissileDisintegrate End Behavior = InstantDeathBehavior DeathModuleTag_03 DeathTypes = ALL -LASERED -DETONATED ; shot down by nonlaser. FX = FX_GenericMissileDeath End ; ---- end Projectile death behaviors Behavior = PhysicsBehavior ModuleTag_04 Mass = 1 End Behavior = MissileAIUpdate ModuleTag_05 TryToFollowTarget = Yes FuelLifetime = 10000 InitialVelocity = 50 ; in dist/sec IgnitionDelay = 0 DistanceToTravelBeforeTurning = 5 DistanceToTargetForLock = 100 ; If it gets within 100 of the target, it kills the target. End Locomotor = SET_NORMAL PatriotMissileLocomotor Geometry = Sphere GeometryIsSmall = Yes GeometryMajorRadius = 2.0 End ;------------------------------------------------------------------------------ Object AirF_AmericaFireBase ; *** ART Parameters *** SelectPortrait = SAFirebase_L ButtonImage = SAFirebase Draw = W3DModelDraw ModuleTag_01 IgnoreConditionStates = NIGHT OkToChangeModelColor = Yes ExtraPublicBone = STATION01 ExtraPublicBone = STATION02 ExtraPublicBone = STATION03 ExtraPublicBone = STATION04 DefaultConditionState Model = ABFIREBASE WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponRecoilBone = PRIMARY Barrel Turret = TURRET01 TurretPitch = TURRETEL WeaponLaunchBone = PRIMARY MUZZLE01 WeaponFireFXBone = PRIMARY MUZZLEFX End ConditionState = DAMAGED Model = ABFIREBASE_D End ConditionState = REALLYDAMAGED RUBBLE Model = ABFIREBASE_E End ConditionState = SNOW Model = ABFIREBASE_S End ConditionState = DAMAGED SNOW Model = ABFIREBASE_DS End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABFIREBASE_DS End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED ;************************************************************************************************************************** ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABFIREBASE Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABFIREBASE_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABFIREBASE_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW Model = ABFIREBASE_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:FireBase Side = AmericaAirForceGeneral EditorSorting = STRUCTURE Prerequisites Object = AirF_AmericaPowerPlant End BuildCost = 1000 BuildTime = 25.0 ; in seconds EnergyProduction = 0 WeaponSet Conditions = None Weapon = PRIMARY FireBaseHowitzerGun End VisionRange = 360.0 ; Shroud clearing distance AND targeting range ShroudClearingRange = 360 ArmorSet Conditions = None Armor = FireBaseArmor DamageFX = StructureDamageFXNoShake End CommandSet = AirF_AmericaFireBaseCommandSet ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = PatriotBatterySelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) TurretMoveLoopLoud End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE SPAWNS_ARE_THE_WEAPONS SCORE FS_TECHNOLOGY FS_BASE_DEFENSE IMMUNE_TO_CAPTURE GARRISONABLE_UNTIL_DESTROYED Body = HiveStructureBody ModuleTag_04; MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 ;**Careful with these damage types -- because area damage types will already ;**damage slaves. PropagateDamageTypesToSlavesWhenExisting = NONE +SNIPER ;+SMALL_ARMS +POISON +RADIATION +SURRENDER ;SwallowDamageTypesIfSlavesNotExisting = NONE +SNIPER +POISON +SURRENDER; Take no damage if no one to pass this to End Behavior = BaseRegenerateUpdate ModuleTag_05 ;No data End Behavior = AIUpdateInterface ModuleTag_06 Turret TurretTurnRate = 60 // turn rate, in degrees per sec TurretPitchRate = 60 AllowsPitch = Yes NaturalTurretPitch = 1 GroundUnitPitch = 40 MinPhysicalPitch = -20 ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY MinIdleScanInterval = 550 ; in milliseconds MaxIdleScanInterval = 950 ; in milliseconds MinIdleScanAngle = 0 ; in degrees off the natural turret angle MaxIdleScanAngle = 360 ; in degrees off the natural turret angle End AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS; defensive weapon MoodAttackCheckRate = 250 End Behavior = GarrisonContain ModuleTag_07 ContainMax = 4 EnterSound = GarrisonEnter ExitSound = GarrisonExit ImmuneToClearBuildingAttacks = Yes DamagePercentToUnits = 100% IsEnclosingContainer = No End Behavior = DestroyDie ModuleTag_08 ;nothing End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_LargeStructureDebris End Behavior = TransitionDamageFX ModuleTag_14 ;-------------DESIGNED FOR TINY SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionTinyExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionTinyShockwave End Geometry = BOX GeometryMajorRadius = 26.0 GeometryMinorRadius = 26.0 GeometryHeight = 15.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object AFG_AmericaVehicleChinook ; *** ART Parameters *** SelectPortrait = SAChinook_L ButtonImage = SAChinook ;UpgradeCameo1 = Upgrade_AmericaCountermeasures ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 ; Helicopter ExtraPublicBone = RopeStart ExtraPublicBone = RopeEnd DefaultConditionState Model = AVChinook Animation = AVChinook.AVChinook AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = AVChinook_d Animation = AVChinook_d.AVChinook_d AnimationMode = LOOP End ConditionState = RUBBLE Model = AVChinook_d Animation = AVChinook_d.AVChinook_d AnimationMode = LOOP End ConditionState = RUBBLE SPECIAL_DAMAGED Model = AVChinook_d HideSubObject = Props01 HideSubObject = Props02 End OkToChangeModelColor = Yes End Draw = W3DModelDraw ModuleTag_02 ; Cargo net ConditionState = NONE Model = None ; Nothing here TransitionKey = TRANS_Empty WaitForStateToFinishIfPossible = TRANS_Unloading End ConditionState = DYING Model = None ; Nothing here End AliasConditionState = RUBBLE AliasConditionState = CARRYING RUBBLE AliasConditionState = DOCKING RUBBLE AliasConditionState = DOCKING CARRYING RUBBLE ConditionState = CARRYING Model = AVChinook_A ;Carrying a full wobbly net of stuff Animation = AVChinook_A.AVChinook_A AnimationMode = LOOP TransitionKey = TRANS_Full WaitForStateToFinishIfPossible = TRANS_PickingUp End ConditionState = DOCKING Model = AVChinook_A1MSH ;Lowering an empty net, pulling up with stuff Animation = AVChinook_A1SK.AVChinook_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST AnimationSpeedFactorRange = .75 .75 TransitionKey = TRANS_PickingUp WaitForStateToFinishIfPossible = TRANS_Unloading ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. End ConditionState = DOCKING CARRYING Model = AVChinook_A1MSH ; Lowering a full net, letting stuff fall out, and pulling up an empty net Animation = AVChinook_A1SK.AVChinook_A1 AnimationMode = ONCE AnimationSpeedFactorRange = 2.75 2.75 TransitionKey = TRANS_Unloading WaitForStateToFinishIfPossible = TRANS_PickingUp ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. End End ; ***DESIGN parameters *** DisplayName = OBJECT:Chinook EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 600 BuildCost = 950 BuildTime = 10.0 ;in seconds Prerequisites Object = AirF_AmericaSupplyCenter End ExperienceValue = 50 50 50 50 ;Experience point value at each level IsTrainable = No CommandSet = AmericaVehicleChinookCommandSet ArmorSet Conditions = None Armor = ChinookArmor DamageFX = None End ; *** AUDIO Parameters *** VoiceSelect = ChinookVoiceSelect VoiceMove = ChinookVoiceMove VoiceAttack = ChinookVoiceAttack SoundAmbient = ChinookAmbientLoop SoundAmbientRubble = NoSound SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds VoiceCreate = ChinookVoiceCreate VoiceSupply = ChinookVoiceSupply VoiceUnload = ChinookVoiceUnload VoiceCombatDrop = ChinookVoiceCombatDrop VoiceClearBuilding = RangerVoiceClearBuilding ;Special combat drop that clears buildings! VoiceGarrison = ChinookVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT ; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at ; (well, "near" actually) an Airfield to get healed... ; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there. KindOf = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT HARVESTER SCORE PRODUCED_AT_HELIPAD Body = ActiveBody ModuleTag_03 MaxHealth = 300.0 InitialHealth = 300.0 End Behavior = FXListDie ModuleTag_05 DeathFX = FX_HelicopterStartDeath End Behavior = TransitionDamageFX ModuleTag_06 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition End Behavior = ChinookAIUpdate ModuleTag_07 MaxBoxes = 8 SupplyCenterActionDelay = 2900 ;3000 ; ms for whole thing (one transaction) SupplyWarehouseActionDelay = 1200 ;1250 ; 875 ; ms per box (many small transactions) SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan) SuppliesDepletedVoice = ChinookVoiceSuppliesDepleted NumRopes = 4 ; these define how long we can wait, once a guy is on-rope, before throwing another ; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely ; and we'll wait for each guy to clear before spawning another. PerRopeDelayMin = 900 PerRopeDelayMax = 1500 RopeWidth = 0.5 RopeColor = R:0 G:0 B:0 RopeWobbleLen = 10 RopeWobbleAmplitude = 0.25 RopeWobbleRate = 180 RopeFinalHeight = 10 ; stop this far above ground RappelSpeed = 30 MinDropHeight = 40 ; if dropping into a tall bldg, go at least this far above it UpgradedSupplyBoost = 60 ; increase in value of the crates when supply lines has been upgraded End Locomotor = SET_NORMAL ChinookLocomotor Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor Behavior = TransportContain ModuleTag_08 Slots = 8 DamagePercentToUnits = 100% AllowInsideKindOf = INFANTRY VEHICLE ForbidInsideKindOf = AIRCRAFT HUGE_VEHICLE ExitDelay = 100 NumberOfExitPaths = 1 End Behavior = PhysicsBehavior ModuleTag_09 Mass = 50.0 End Behavior = HelicopterSlowDeathBehavior ModuleTag_10 DestructionDelay = 99999999 ; the destruction delay SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) SoundDeathLoop = ComancheDamagedLoop MinSelfSpin = 100 ; in degrees per second MaxSelfSpin = 300 ; in degrees per second SelfSpinUpdateDelay = 100 ; in milliseconds SelfSpinUpdateAmount = 10 ; in degrees FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall MinBladeFlyOffDelay = 1500 ; in milliseconds MaxBladeFlyOffDelay = 1500 ; in milliseconds AttachParticle = SootySmokeTrail AttachParticleBone = Propeller02 BladeObjectName = ComancheBlades BladeBoneName = Propeller01 FXBlade = FX_HelicopterBladeExplosion OCLBlade = OCL_HelicopterBladeExplosion FXHitGround = FX_HelicopterHitGround OCLHitGround = OCL_HelicopterHitGround FXFinalBlowUp = FX_GroundedHelicopterBlowUp OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp DelayFromGroundToFinalDeath = 30 FinalRubbleObject = ChinookRubbleHull End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One WeaponTemplate = AirF_PointDefenseLaser PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 33 ScanRange = 500.0 PredictTargetVelocityFactor = 1.0 End Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 6.0 GeometryHeight = 12.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaVehicleChinook ; *** ART Parameters *** SelectPortrait = SAComChinok_L ButtonImage = SAComChinok ;UpgradeCameo1 = Upgrade_AmericaCountermeasures ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 ; Helicopter ExtraPublicBone = RopeStart ExtraPublicBone = RopeEnd DefaultConditionState Model = AVChinookAG Animation = AVChinookAG.AVChinookAG AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = AVChinookAG_d Animation = AVChinookAG_d.AVChinookAG_d AnimationMode = LOOP End ConditionState = RUBBLE Model = AVChinookAG_d Animation = AVChinookAG_d.AVChinookAG_d AnimationMode = LOOP End ConditionState = RUBBLE SPECIAL_DAMAGED Model = AVChinookAG_d HideSubObject = Props01 HideSubObject = Props02 End OkToChangeModelColor = Yes End Draw = W3DModelDraw ModuleTag_02 ; Cargo net ConditionState = NONE Model = None ; Nothing here TransitionKey = TRANS_Empty WaitForStateToFinishIfPossible = TRANS_Unloading End ConditionState = DYING Model = None ; Nothing here End AliasConditionState = RUBBLE AliasConditionState = CARRYING RUBBLE AliasConditionState = DOCKING RUBBLE AliasConditionState = DOCKING CARRYING RUBBLE ConditionState = CARRYING Model = AVChinook_A ;Carrying a full wobbly net of stuff Animation = AVChinook_A.AVChinook_A AnimationMode = LOOP TransitionKey = TRANS_Full WaitForStateToFinishIfPossible = TRANS_PickingUp End ConditionState = DOCKING Model = AVChinook_A1MSH ;Lowering an empty net, pulling up with stuff Animation = AVChinook_A1SK.AVChinook_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST AnimationSpeedFactorRange = .75 .75 TransitionKey = TRANS_PickingUp WaitForStateToFinishIfPossible = TRANS_Unloading ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. End ConditionState = DOCKING CARRYING Model = AVChinook_A1MSH ; Lowering a full net, letting stuff fall out, and pulling up an empty net Animation = AVChinook_A1SK.AVChinook_A1 AnimationMode = ONCE AnimationSpeedFactorRange = 2.75 2.75 TransitionKey = TRANS_Unloading WaitForStateToFinishIfPossible = TRANS_PickingUp ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. End End ; ***DESIGN parameters *** DisplayName = OBJECT:AirF_Chinook EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 600 BuildCost = 1200 BuildTime = 25.0 ;in seconds Prerequisites Object = AirF_AmericaWarFactory End ExperienceValue = 60 60 60 60 ;Experience point value at each level IsTrainable = No CommandSet = AmericaVehicleChinookCommandSet WeaponSet Conditions = None Weapon = PRIMARY NONE End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY ListeningOutpostUpgradedDummyWeapon End ArmorSet Conditions = None Armor = ChinookArmor DamageFX = None End ; *** AUDIO Parameters *** VoiceSelect = CombatChinookVoiceSelect VoiceMove = ChinookVoiceMove VoiceAttack = CombatChinookVoiceAttack SoundAmbient = ChinookAmbientLoop SoundAmbientRubble = NoSound SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds VoiceCreate = CombatChinookVoiceCreate VoiceSupply = ChinookVoiceSupply VoiceUnload = ChinookVoiceUnload VoiceCombatDrop = ChinookVoiceCombatDrop VoiceClearBuilding = RangerVoiceClearBuilding ;Special combat drop that clears buildings! VoiceGarrison = ChinookVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT ; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at ; (well, "near" actually) an Airfield to get healed... ; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there. KindOf = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT HARVESTER SCORE PRODUCED_AT_HELIPAD CAN_ATTACK Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = No ATTACK_BUILDINGS Stealthed End Body = ActiveBody ModuleTag_03 MaxHealth = 350.0 InitialHealth = 350.0 End Behavior = FXListDie ModuleTag_05 DeathFX = FX_HelicopterStartDeath End Behavior = TransitionDamageFX ModuleTag_06 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition End Behavior = ChinookAIUpdate ModuleTag_07 MaxBoxes = 8 SupplyCenterActionDelay = 3000 ; ms for whole thing (one transaction) SupplyWarehouseActionDelay = 1250 ; 875 ; ms per box (many small transactions) SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan) SuppliesDepletedVoice = ChinookVoiceSuppliesDepleted NumRopes = 4 ; these define how long we can wait, once a guy is on-rope, before throwing another ; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely ; and we'll wait for each guy to clear before spawning another. PerRopeDelayMin = 900 PerRopeDelayMax = 1500 RopeWidth = 0.5 RopeColor = R:0 G:0 B:0 RopeWobbleLen = 10 RopeWobbleAmplitude = 0.25 RopeWobbleRate = 180 RopeFinalHeight = 10 ; stop this far above ground RappelSpeed = 30 MinDropHeight = 40 ; if dropping into a tall bldg, go at least this far above it UpgradedSupplyBoost = 60 ; increase in value of the crates when supply lines has been upgraded End Locomotor = SET_NORMAL ChinookLocomotor Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor Behavior = TransportContain ModuleTag_08 PassengersAllowedToFire = Yes Slots = 8 DamagePercentToUnits = 100% AllowInsideKindOf = INFANTRY VEHICLE ForbidInsideKindOf = AIRCRAFT HUGE_VEHICLE ExitDelay = 100 NumberOfExitPaths = 1 GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting ArmedRidersUpgradeMyWeaponSet = Yes End Behavior = PhysicsBehavior ModuleTag_09 Mass = 50.0 End Behavior = HelicopterSlowDeathBehavior ModuleTag_10 DestructionDelay = 99999999 ; the destruction delay SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) SoundDeathLoop = ComancheDamagedLoop MinSelfSpin = 100 ; in degrees per second MaxSelfSpin = 300 ; in degrees per second SelfSpinUpdateDelay = 100 ; in milliseconds SelfSpinUpdateAmount = 10 ; in degrees FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall MinBladeFlyOffDelay = 1500 ; in milliseconds MaxBladeFlyOffDelay = 1500 ; in milliseconds AttachParticle = SootySmokeTrail AttachParticleBone = Propeller02 BladeObjectName = ComancheBlades BladeBoneName = Propeller01 FXBlade = FX_HelicopterBladeExplosion OCLBlade = OCL_HelicopterBladeExplosion FXHitGround = FX_HelicopterHitGround OCLHitGround = OCL_HelicopterHitGround FXFinalBlowUp = FX_GroundedHelicopterBlowUp OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp DelayFromGroundToFinalDeath = 30 FinalRubbleObject = ChinookRubbleHull End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One WeaponTemplate = AirF_PointDefenseLaser PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 33 ScanRange = 250.0 PredictTargetVelocityFactor = 1.0 End Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 6.0 GeometryHeight = 12.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AirF_AmericaJetRaptor ; *** ART Parameters *** SelectPortrait = SAKingRap_L ButtonImage = SAKingRap UpgradeCameo1 = Upgrade_AmericaLaserMissiles UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_AmericaCountermeasures ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 ExtraPublicBone = WeaponA01 DefaultConditionState Model = AVRaptorAG HideSubObject = BurnerFX01 BurnerFX02 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburner ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = REALLYDAMAGED Model = AVRaptorAG_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke End ConditionState = REALLYDAMAGED JETEXHAUST Model = AVRaptorAG_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = AVRaptorAG_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; afterburner ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE Model = AVRaptor_D1B HideSubObject = None ShowSubObject = None End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = AVRaptor_D1B ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:KingRaptor EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 200.0 ShroudClearingRange = 400 Prerequisites Object = AirF_AmericaAirfield End WeaponSet Conditions = None Weapon = PRIMARY AirF_RaptorJetMissileWeapon End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End BuildCost = 1100 BuildTime = 20 ExperienceValue = 75 75 125 175 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaJetRaptorCommandSet ; *** AUDIO Parameters *** VoiceSelect = KingRaptorVoiceSelect VoiceMove = RaptorVoiceMove VoiceAttack = RaptorVoiceAttack VoiceAttackAir = RaptorVoiceAttackAir VoiceGuard = RaptorVoiceAirPatrol SoundAmbient = RaptorAmbientLoop SoundAmbientRubble = NoSound ; SoundMoveLoop = RaptorAmbientLoop ; don't want sound while sitting at airfield ; SoundAmbient = NoSound UnitSpecificSounds VoiceCreate = KingRaptorVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceLowFuel = RaptorVoiceLowFuel VoiceGarrison = RaptorVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 End Behavior = ExperienceScalarUpgrade ModuleTag_04 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = JetSlowDeathBehavior ModuleTag_05 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_RaptorDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_RaptorDeathInitial OCLInitialDeath = OCL_RaptorDeathInitial DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary OCLSecondary = OCL_RaptorDeathSecondary FXHitGround = FX_JetDeathHitGround OCLHitGround = OCL_RaptorDeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_RaptorDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = EjectPilotDie ModuleTag_06 ExemptStatus = HIJACKED GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = PhysicsBehavior ModuleTag_07 Mass = 500.0 End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Behavior = JetAIUpdate ModuleTag_09 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 ParkingOffset = 3 ; scooch it a little forward so the tail doesn't hit the doors ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Locomotor = SET_NORMAL RaptorJetLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = PointDefenseLaserUpdate ModuleTag_22 WeaponTemplate = AirF_RaptorPointDefenseLaser PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 10 ScanRange = 200.0 PredictTargetVelocityFactor = 2.0 End Behavior = StealthDetectorUpdate ModuleTag_24 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = 250 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One WeaponTemplate = AirF_PointDefenseLaser PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 0 ScanRange = 200.0 PredictTargetVelocityFactor = 1.0 End Behavior = ArmorUpgrade ModuleTag_Armor25 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_26 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 100 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Geometry = Box GeometryIsSmall = Yes GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 5.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length. End ;------------------------------------------------------------------------------ Object AirF_AmericaJetB3 ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVB3bmbr ParticleSysBone = Engine01 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = WingTip03 JetContrailThin ParticleSysBone = WingTip04 JetContrailThin End ConditionState = DAMAGED Model = AVB3bmbr_D ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Engine01 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = REALLYDAMAGED Model = AVB3bmbr_D ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Engine01 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = RUBBLE Model = AVB3bmbr_D1 ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End OkToChangeModelColor = Yes End ; Draw = W3DModelDraw ModuleTag_02 ; DefaultConditionState ; Model = AVB3bmbr_A2K ; End ; ConditionState = DOOR_1_OPENING ; Animation = AVB3bmbr_A2K.AVB3bmbr_A2 ; AnimationMode = ONCE ; Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES ; End ; ConditionState = DOOR_1_CLOSING ; Animation = AVB3bmbr_A2K.AVB3bmbr_A2 ; AnimationMode = ONCE_BACKWARDS ; Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES ; End ; ConditionState = REALLYDAMAGED ; Model = AVB3bmbr_A2DU ; Animation = AVB3bmbr_A2K.AVB3bmbr_A2 ; AnimationMode = MANUAL ; Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES ; End ; ConditionState = DOOR_1_OPENING REALLYDAMAGED ; Model = AVB3bmbr_A2DU ; Animation = AVB3bmbr_A2K.AVB3bmbr_A2 ; AnimationMode = ONCE ; Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES ; End ; ConditionState = DOOR_1_CLOSING REALLYDAMAGED ; Model = AVB3bmbr_A2DU ; Animation = AVB3bmbr_A2K.AVB3bmbr_A2 ; AnimationMode = ONCE_BACKWARDS ; Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES ; End ; End ; ***DESIGN parameters *** DisplayName = OBJECT:B52 EditorSorting = VEHICLE Side = AmericaAirForceGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 0.0 ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = TankDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End CommandSet = Command_ScriptedTransportDrops Prerequisites Object = AirF_AmericaStrategyCenter End ; *** AUDIO Parameters *** SoundAmbient = B3BomberAmbientLoop SoundAmbientRubble = NoSound ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 1000.0 InitialHealth = 1000.0 End ExperienceValue = 50 50 50 50 ; Experience point value at each level ;SCRIPTED SUPPORT: These special powers are triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_04 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ OCL = SUPERWEAPON_DaisyCutter CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_05 SpecialPowerTemplate = SuperweaponMOAB ;@@KRIS@@ OCL = SUPERWEAPON_MOAB CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = PhysicsBehavior ModuleTag_07 Mass = 500.0 End Behavior = DeliverPayloadAIUpdate ModuleTag_08 DoorDelay = 500 MaxAttempts = 4 DropOffset = X:0 Y:0 Z:-10 DropDelay = 300 ; time in between each item dropped (if more than one) PutInContainer = AmericaParachute DeliveryDistance = 150 End Locomotor = SET_NORMAL B3Locomotor Behavior = TransportContain ModuleTag_09 Slots = 100 ; hey, it's a BIG transport ScatterNearbyOnExit = No OrientLikeContainerOnExit = Yes KeepContainerVelocityOnExit = Yes ExitPitchRate = 30 ExitBone = WeaponA01 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em NumberOfExitPaths = 0 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' End Behavior = JetSlowDeathBehavior ModuleTag_10 DestructionDelay = 2000 RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetBigDeathInitial OCLInitialDeath = OCL_AmericaJetCargoDeathStart DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time OCLSecondary = OCL_AmericaJetCargoHulkDeath FXSecondary = FX_BigPlaneDeath ; FXFinalBlowUp = FX_JetDeathFinalBlowUp ; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = TransitionDamageFX ModuleTag_11 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_12 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 100 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One WeaponTemplate = AirF_PointDefenseLaser PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 0 ScanRange = 200.0 PredictTargetVelocityFactor = 1.0 End Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 60.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;-------------------------------- Object AmericaJetSpectreGunship ; *** ART Parameters *** Draw = W3DOverlordAircraftDraw ModuleTag_01 ; Works with the dependencyModelDraw of the upgrade portable structures ;----NORMAL------------- DefaultConditionState Model = AVSGunship WeaponFireFXBone = PRIMARY MUZZLE WeaponFireFXBone = SECONDARY MUZZLE WeaponMuzzleFlash = PRIMARY MUZZLEFX WeaponMuzzleFlash = SECONDARY MUZZLEFX End ConditionState = DOOR_1_OPENING Model = AVSGunship Animation = AVSGunship.AVSGunship AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail End ConditionState = DOOR_1_CLOSING Model = AVSGunship Animation = AVSGunship.AVSGunship AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare End ;----DAMAGED------------- ConditionState = DOOR_1_OPENING DAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = DOOR_1_CLOSING DAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ;----REALLY DAMAGED------------- ConditionState = DOOR_1_OPENING REALLYDAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke02 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 SpectreSmokeLarge End ConditionState = DOOR_1_CLOSING REALLYDAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke02 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 SpectreSmokeLarge End ConditionState = RUBBLE Model = AVSGunship_D1 ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke01 SpectreSmokeLarge ParticleSysBone = Smoke03 SpectreSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke05 SpectreSmokeLarge End AliasConditionState = REALLYDAMAGED RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_OPENING OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:SpectreGunship EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 300 Prerequisites Object = AmericaAirfield End ArmorSet Conditions = None Armor = SpectreGunshipArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresSpectreGunshipArmor DamageFX = None End WeaponSet Conditions = None Weapon = PRIMARY SpectreHowitzerGun End ExperienceValue = 40 40 40 40 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = No ;Not Player built, so no veterancy.............................. ; *** AUDIO Parameters *** VoiceSelect = SpectreGunshipVoiceSelect VoiceAttack = SpectreGunshipVoiceAttack VoiceMove = SpectreGunshipVoiceMove SoundAmbient = SpectreGunshipAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds Afterburner = SpectreGunshipAfterburnerLoop HowitzerFire = SpectreHowitzerWeapon End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_ATTACK VEHICLE AIRCRAFT SCORE SELECTABLE EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 600.0 InitialHealth = 600.0 End Behavior = JetSlowDeathBehavior ModuleTag_04 DestructionDelay = 99999999 ; destruction will happen when we RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_SpectreGunshipExplosionLight OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_spectreDeathExplosion OCLSecondary = None FXHitGround = FX_spectreGunshipDeathExplosion OCLHitGround = OCL_A10DeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds ; FXFinalBlowUp = FX_spectreGunshipDeathExplosion OCLFinalBlowUp = OCL_SpectreDeathFinalBlowUp End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End ;SCRIPTED SUPPORT: These special power is triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = AIUpdateInterface ModuleTag_07 ForbidPlayerCommands = Yes ; this AIUpdate will only do command if from script or AI, not player End Locomotor = SET_PANIC SpectreGunshipTransitLocomotor Locomotor = SET_NORMAL SpectreGunshipOrbitLocomotor Behavior = SpecialAbility ModuleTag_32 SpecialPowerTemplate = SuperweaponSpectreGunship UpdateModuleStartsAttack = Yes End Behavior = SpectreGunshipUpdate ModuleTag_10 GattlingStrafeFXParticleSystem = SpectreGattlingArmsSmoke SpecialPowerTemplate = SuperweaponSpectreGunship HowitzerWeaponTemplate = SpectreHowitzerGun GattlingTemplateName = SpectreGunshipGattlingCannon RandomOffsetForHowitzer = 20 TargetingReticleRadius = 25 OrbitInsertionSlope = 0.7 ; steepness of orbit entry GunshipOrbitRadius = 250 HowitzerFiringRate = 300 ; how long between each attempted shot of howitzer HowitzerFollowLag = 400 ;600 ; how long after gattling acquires target can howitzer shoot same StrafingIncrement = 20 ; how far apart is each shot of the gattling as it strafes AttackAreaRadius = 200 OrbitTime = 15000 ;20000 ;32000 ; thirty-two seconds AttackAreaDecal Texture = SCCSpecTarg Style = SHADOW_ALPHA_DECAL OpacityMin = 25% OpacityMax = 50% OpacityThrobTime = 1500 Color = R:127 G:177 B:222 A:255 OnlyVisibleToOwningPlayer = Yes End TargetingReticleDecal Texture = SCCSpecRet Style = SHADOW_ALPHA_DECAL OpacityMin = 50% OpacityMax = 100% OpacityThrobTime = 300 Color = R:127 G:177 B:222 A:255 OnlyVisibleToOwningPlayer = Yes End End Behavior = HelixContain ModuleTag_09 Slots = 1 DamagePercentToUnits = 100% AllowInsideKindOf = PORTABLE_STRUCTURE PassengersAllowedToFire = Yes ShouldDrawPips = No End Behavior = FlammableUpdate ModuleTag_08 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_11 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_Client01 ;;;;;;;; End ; This allows the wingtip trails to stay stuck to the retractable wings Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 40.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;-------------------------------- ;------------------------------------------------------------------------------ Object SpectreGunshipGattlingCannon ; *** ART Parameters *** Draw = W3DDependencyModelDraw ModuleTag_01 OkToChangeModelColor = Yes AttachToBoneInContainer = CHASIS DefaultConditionState Model = AVSGUNSHIP_GUN TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY Muzzle WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponMuzzleFlash = SECONDARY MuzzleFX End End ; ***DESIGN parameters *** Side = China EditorSorting = SYSTEM TransportSlotCount = 1 WeaponSet Conditions = None Weapon = PRIMARY SpectreGattlingGun End ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module End VisionRange = 200 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop VoiceRapidFire = NoSound End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY TurretTurnRate = 160 // turn rate, in degrees per sec TurretPitchRate = 160 AllowsPitch = Yes End AutoAcquireEnemiesWhenIdle = No End Behavior = DestroyDie ModuleTag_04 ;nothing End Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 3.0 GeometryHeight = 3.0 GeometryIsSmall = No Shadow = NONE End ;------------------------------------------------------------------------------ Object SpectreGunshipHowitzer ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVSGUNSHIP_GHOW TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY Muzzle WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponMuzzleFlash = SECONDARY MuzzleFX End End ; ***DESIGN parameters *** Side = China EditorSorting = SYSTEM TransportSlotCount = 1 WeaponSet Conditions = None Weapon = PRIMARY SpectreHowitzerGun End ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module End VisionRange = 200 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop VoiceRapidFire = NoSound End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY SECONDARY TurretTurnRate = 60 // turn rate, in degrees per sec TurretPitchRate = 60 AllowsPitch = Yes End AutoAcquireEnemiesWhenIdle = No End Behavior = DestroyDie ModuleTag_04 ;nothing End Behavior = StealthDetectorUpdate ModuleTag_06 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ; Defaults to VisionRange CanDetectWhileContained = Yes End Geometry = BOX GeometryMajorRadius = 13.0 GeometryMinorRadius = 13.0 GeometryHeight = 8.0 GeometryIsSmall = No Shadow = NONE End ;------------------------------------------------------------------------------ Object AmericaJetRaptor ; *** ART Parameters *** SelectPortrait = SACRaptor_L ButtonImage = SACRaptor UpgradeCameo1 = Upgrade_AmericaLaserMissiles UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_AmericaCountermeasures ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = avraptor_alt HideSubObject = BurnerFX01 BurnerFX02 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburner ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = REALLYDAMAGED Model = AVRaptor_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke End ConditionState = REALLYDAMAGED JETEXHAUST Model = AVRaptor_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = AVRaptor_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; afterburner ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE Model = AVRaptor_D1B HideSubObject = None ShowSubObject = None End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = AVRaptor_D1B ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Raptor EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 200.0 ShroudClearingRange = 400 Prerequisites Object = AmericaAirfield End WeaponSet Conditions = None Weapon = PRIMARY RaptorJetMissileWeapon End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End BuildCost = 1400 BuildTime = 20 ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaJetRaptorCommandSet ; *** AUDIO Parameters *** VoiceSelect = RaptorVoiceSelect VoiceMove = RaptorVoiceMove VoiceAttack = RaptorVoiceAttack VoiceAttackAir = RaptorVoiceAttackAir VoiceGuard = RaptorVoiceAirPatrol SoundAmbient = RaptorAmbientLoop SoundAmbientRubble = NoSound ; SoundMoveLoop = RaptorAmbientLoop ; don't want sound while sitting at airfield ; SoundAmbient = NoSound UnitSpecificSounds VoiceCreate = RaptorVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceLowFuel = RaptorVoiceLowFuel VoiceGarrison = RaptorVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 160.0 InitialHealth = 160.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 3 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 1.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = ExperienceScalarUpgrade ModuleTag_04 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = JetSlowDeathBehavior ModuleTag_05 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_RaptorDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_RaptorDeathInitial OCLInitialDeath = OCL_RaptorDeathInitial DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary OCLSecondary = OCL_RaptorDeathSecondary FXHitGround = FX_JetDeathHitGround OCLHitGround = OCL_RaptorDeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_RaptorDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = EjectPilotDie ModuleTag_06 ExemptStatus = HIJACKED GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = PhysicsBehavior ModuleTag_07 Mass = 500.0 End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Behavior = JetAIUpdate ModuleTag_09 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 ParkingOffset = 3 ; scooch it a little forward so the tail doesn't hit the doors ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Locomotor = SET_NORMAL RaptorJetLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = Box GeometryIsSmall = Yes GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 5.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length. End ;------------------------------------------------------------------------------ Object AmericaJetAircraftCarrierRaptor ; *** ART Parameters *** SelectPortrait = SACRaptor_L ButtonImage = SACRaptor UpgradeCameo1 = Upgrade_AmericaLaserMissiles UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_AmericaCountermeasures ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = PSCarRapt HideSubObject = BurnerFX01 BurnerFX02 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburner ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = REALLYDAMAGED Model = PSCarRapt_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke End ConditionState = REALLYDAMAGED JETEXHAUST Model = PSCarRapt_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = PSCarRapt_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; afterburner ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE Model = PSCarRapt_D1B HideSubObject = None ShowSubObject = None End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = PSCarRapt_D1B ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Raptor EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 180.0 ShroudClearingRange = 400 WeaponSet Conditions = None Weapon = PRIMARY AircraftCarrierRaptorJetMissileWeapon End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End BuildCost = 0 BuildTime = 4 ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaJetRaptorCommandSet ; *** AUDIO Parameters *** VoiceSelect = RaptorVoiceSelect VoiceMove = RaptorVoiceMove VoiceAttack = RaptorVoiceAttack VoiceAttackAir = RaptorVoiceAttackAir VoiceGuard = RaptorVoiceAirPatrol SoundAmbient = RaptorAmbientLoop SoundAmbientRubble = NoSound ; SoundMoveLoop = RaptorAmbientLoop ; don't want sound while sitting at airfield ; SoundAmbient = NoSound UnitSpecificSounds VoiceCreate = NoSound SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceLowFuel = RaptorVoiceLowFuel VoiceGarrison = RaptorVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 160.0 InitialHealth = 160.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 3 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 1.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = ExperienceScalarUpgrade ModuleTag_04 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = JetSlowDeathBehavior ModuleTag_05 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_RaptorDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_RaptorDeathInitial OCLInitialDeath = OCL_RaptorDeathInitial DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary OCLSecondary = OCL_RaptorDeathSecondary FXHitGround = FX_JetDeathHitGround OCLHitGround = OCL_RaptorDeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_RaptorDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = EjectPilotDie ModuleTag_06 ExemptStatus = HIJACKED GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = PhysicsBehavior ModuleTag_07 Mass = 500.0 End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Behavior = JetAIUpdate ModuleTag_09 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 ParkingOffset = 3 ; scooch it a little forward so the tail doesn't hit the doors ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo AutoAcquireEnemiesWhenIdle = YES ATTACK_BUILDINGS End Locomotor = SET_NORMAL RaptorJetLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = Box GeometryIsSmall = Yes GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 5.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length. End ;------------------------------------------------------------------------------ Object AmericaJetB52 ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVBomber ParticleSysBone = Engine00 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin End ConditionState = DAMAGED Model = AVBomber_D ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Engine00 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = REALLYDAMAGED Model = AVBomber_D ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Engine00 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = RUBBLE Model = AVBomber_D1 ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End OkToChangeModelColor = Yes End Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = AVBomber_A2U Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_OPENING Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_CLOSING Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED Model = AVBomber_A2DU Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_OPENING REALLYDAMAGED Model = AVBomber_A2DU Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_CLOSING REALLYDAMAGED Model = AVBomber_A2DU Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES End End ; ***DESIGN parameters *** DisplayName = OBJECT:B52 EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 0.0 ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = TankDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End CommandSet = Command_ScriptedTransportDrops ; *** AUDIO Parameters *** SoundAmbient = B52AmbientLoop SoundAmbientRubble = NoSound ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 1000.0 InitialHealth = 1000.0 End ExperienceValue = 50 50 50 50 ; Experience point value at each level ;SCRIPTED SUPPORT: These special powers are triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_04 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ OCL = SUPERWEAPON_DaisyCutter CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_05 SpecialPowerTemplate = SuperweaponParadropAmerica UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 OCL = SUPERWEAPON_Paradrop1 CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = SuperweaponCarpetBomb OCL = SUPERWEAPON_CarpetBomb CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = PhysicsBehavior ModuleTag_07 Mass = 500.0 End Behavior = DeliverPayloadAIUpdate ModuleTag_08 DoorDelay = 500 MaxAttempts = 4 DropOffset = X:0 Y:0 Z:-10 DropDelay = 300 ; time in between each item dropped (if more than one) PutInContainer = AmericaParachute DeliveryDistance = 150 End Locomotor = SET_NORMAL B52Locomotor Behavior = TransportContain ModuleTag_09 Slots = 100 ; hey, it's a BIG transport ScatterNearbyOnExit = No OrientLikeContainerOnExit = Yes KeepContainerVelocityOnExit = Yes ExitPitchRate = 30 ExitBone = WeaponA01 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em NumberOfExitPaths = 0 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' End Behavior = JetSlowDeathBehavior ModuleTag_10 DestructionDelay = 2000 RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetBigDeathInitial OCLInitialDeath = OCL_AmericaJetCargoDeathStart DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time OCLSecondary = OCL_AmericaJetCargoHulkDeath FXSecondary = FX_BigPlaneDeath ; FXFinalBlowUp = FX_JetDeathFinalBlowUp ; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = TransitionDamageFX ModuleTag_11 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_12 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 60.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaJetAurora ; *** ART Parameters *** SelectPortrait = SAAurora_L ButtonImage = SAAurora UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaCountermeasures ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVAurora HideSubObject = BurnerFX03 BurnerFX04 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburner ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = REALLYDAMAGED Model = AVAurora_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke End ConditionState = REALLYDAMAGED JETEXHAUST Model = AVAurora_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = AVAurora_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; afterburner ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE Model = AVAurora_D1 HideSubObject = None ShowSubObject = None End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = AVAurora_D1 ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Aurora EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 180.0 ShroudClearingRange = 600 Prerequisites Object = AmericaAirfield Object = AmericaStrategyCenter End BuildCost = 2500 BuildTime = 30.0 ;in seconds WeaponSet Conditions = None Weapon = PRIMARY AuroraBombWeapon End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End ExperienceValue = 200 200 400 400 ;Experience point value at each level ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaJetAuroraCommandSet ; *** AUDIO Parameters *** VoiceSelect = AuroraBomberVoiceSelect VoiceMove = AuroraBomberVoiceMove VoiceGuard = AuroraBomberVoiceMove VoiceAttack = AuroraBomberVoiceAttack SoundAmbient = AuroraBomberAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds VoiceCreate = AuroraBomberVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceLowFuel = AuroraBomberVoiceLowFuel VoiceGarrison = AuroraBomberVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 80.0 InitialHealth = 80.0 End Behavior = JetSlowDeathBehavior ModuleTag_03 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_AuroraDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_AuroraDeathInitial ;OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary ;OCLSecondary = None FXHitGround = FX_JetDeathHitGround ;OCLHitGround = None DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = EjectPilotDie ModuleTag_04 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End Behavior = ExperienceScalarUpgrade ModuleTag_06 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = JetAIUpdate ModuleTag_07 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 SneakyOffsetWhenAttacking = -20.0 ; this is how far behind us people aim when we are in attack mode AttackLocomotorType = SET_SUPERSONIC AttackLocomotorPersistTime = 100 ; we start slowing down almost immediately AttackersMissPersistTime = 2000 ; but remain untargetable fer a bit longer ReturnForAmmoLocomotorType = SET_SLUGGISH ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Locomotor = SET_NORMAL AuroraJetLocomotor Locomotor = SET_SUPERSONIC AuroraJetSupersonicLocomotor Locomotor = SET_SLUGGISH AuroraJetSluggishLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 2 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 60.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_22 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Geometry = Box GeometryIsSmall = Yes GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 5.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaJetStealthFighter ; *** ART Parameters *** SelectPortrait = SAStealth_L ButtonImage = SAStealth UpgradeCameo1 = Upgrade_AmericaLaserMissiles UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_AmericaCountermeasures UpgradeCameo4 = Upgrade_AmericaBunkerBusters ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVStealth HideSubObject = BurnerFX03 BurnerFX04 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburners ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = REALLYDAMAGED Model = AVStealth_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke End ConditionState = REALLYDAMAGED JETEXHAUST Model = AVStealth_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = AVStealth_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburners ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = RUBBLE Model = AVStealth_D1 HideSubObject = None ShowSubObject = None End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = AVStealth_D1 ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:StealthFighter EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 180.0 ShroudClearingRange = 300.0 Prerequisites Object = AmericaAirfield Science = SCIENCE_StealthFighter End WeaponSet Conditions = None Weapon = PRIMARY StealthJetMissileWeapon End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End BuildCost = 1600 BuildTime = 25.0 ;in seconds ExperienceValue = 100 100 200 300 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ; Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaJetStealthFighterCommandSet ; *** AUDIO Parameters *** VoiceSelect = StealthFighterVoiceSelect VoiceMove = StealthFighterVoiceMove VoiceAttack = StealthFighterVoiceAttack VoiceAttackAir = StealthFighterVoiceAttackAir VoiceGuard = StealthFighterVoiceAirPatrol SoundAmbient = StealthFighterAmbientLoop SoundAmbientRubble = NoSound SoundStealthOn = StealthOn SoundStealthOff = StealthOff UnitSpecificSounds VoiceCreate = StealthFighterVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceLowFuel = AuroraBomberVoiceLowFuel VoiceGarrison = StealthFighterVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = LOCAL_UNIT_ONLY KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = JetSlowDeathBehavior ModuleTag_03 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_StealthDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_StealthFighterDeathInitial ;OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary ;OCLSecondary = None FXHitGround = FX_JetDeathHitGround ;OCLHitGround = None DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_StealthDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = EjectPilotDie ModuleTag_04 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End Behavior = JetAIUpdate ModuleTag_06 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Behavior = ExperienceScalarUpgrade ModuleTag_08 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = StealthUpdate ModuleTag_09 StealthDelay = 1500 ; msec StealthForbiddenConditions = FIRING_PRIMARY ; not currently used... but maybe someday? (srj) ;RevealDistanceFromTarget = 0.0f FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 2 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 60.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Locomotor = SET_NORMAL StealthJetLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_22 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Geometry = Cylinder GeometryIsSmall = Yes GeometryMajorRadius = 7.0 GeometryMinorRadius = 7.0 GeometryHeight = 7.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaVehicleComanche ; *** ART Parameters *** SelectPortrait = SACCommanche_L ButtonImage = SACCommanche UpgradeCameo1 = Upgrade_ComancheRocketPods UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_AmericaCountermeasures ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVComanche HideSubObject = MissileUpgrade Animation = AVComanche.AVComanche AnimationMode = LOOP WeaponMuzzleFlash = PRIMARY TurretFX WeaponFireFXBone = PRIMARY Muzzle WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle End ConditionState = REALLYDAMAGED Model = AVComanche_d Animation = AVComanche_d.AVComanche_d AnimationMode = LOOP End ConditionState = WEAPONSET_PLAYER_UPGRADE ShowSubObject = MissileUpgrade Animation = AVComanche.AVComanche AnimationMode = LOOP WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = AVComanche_d ShowSubObject = MissileUpgrade Animation = AVComanche_d.AVComanche_d AnimationMode = LOOP WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End ConditionState = RUBBLE Model = AVComanche_d Animation = AVComanche_d.AVComanche_d AnimationMode = LOOP End ConditionState = RUBBLE SPECIAL_DAMAGED Model = AVComanche_d HideSubObject = AVComanche_Prop End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Comanche EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 200.0 ShroudClearingRange = 600 Prerequisites Object = AmericaAirfield End WeaponSet Conditions = None ; ----- Weapon = PRIMARY Comanche20mmCannonWeapon PreferredAgainst = PRIMARY INFANTRY AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = SECONDARY ComancheAntiTankMissileWeapon PreferredAgainst = SECONDARY VEHICLE STRUCTURE AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = TERTIARY NONE End WeaponSet Conditions = PLAYER_UPGRADE ; ----- Weapon = PRIMARY Comanche20mmCannonWeapon PreferredAgainst = PRIMARY INFANTRY AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = SECONDARY ComancheAntiTankMissileWeapon PreferredAgainst = SECONDARY VEHICLE STRUCTURE AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = TERTIARY ComancheRocketPodWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = ComancheArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresComancheArmor DamageFX = None End BuildCost = 1500 BuildTime = 20 ; in seconds ExperienceValue = 50 50 100 200 ; Experience point value at each level ExperienceRequired = 0 100 200 400 ; Experience points needed to gain each level IsTrainable = Yes ; Can gain experience CommandSet = AmericaVehicleComancheCommandSet ; *** AUDIO Parameters *** VoiceSelect = ComancheVoiceSelect VoiceMove = ComancheVoiceMove VoiceGuard = ComancheVoiceMove VoiceAttack = ComancheVoiceAttack SoundAmbient = ComancheAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = ComancheVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceGarrison = ComancheVoiceMove TurretMoveStart = NoSound TurretMoveLoop = NoSound VoiceFireRocketPods = ComancheVoiceAttackRocket End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT PRODUCED_AT_HELIPAD Behavior = WeaponSetUpgrade ModuleTag_02 TriggeredBy = Upgrade_ComancheRocketPods End Behavior = ExperienceScalarUpgrade ModuleTag_03 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Body = ActiveBody ModuleTag_04 MaxHealth = 220.0 InitialHealth = 220.0 End Behavior = FXListDie ModuleTag_05 DeathFX = FX_ComancheStartDeath End Behavior = JetAIUpdate ModuleTag_06 MinHeight = 5 NeedsRunway = No KeepsParkingSpaceWhenAirborne = No AutoAcquireEnemiesWhenIdle = Yes ; note that comanches do not return to base when idle ; this is a bit of a trick... normally, units cannot move-and-fire at ; the same time. we need the comanche to be able to. so we give it ; a "turret" (invisible) and put the two main weapons on it, but with ; no turn rate. voila! Turret TurretTurnRate = 0 ; this "turret" does not turn TurretPitchRate = 0 ; nor does it pitch ControlledWeaponSlots = PRIMARY SECONDARY End End Locomotor = SET_NORMAL ComancheLocomotor Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor Behavior = PhysicsBehavior ModuleTag_07 Mass = 50.0 End Behavior = HelicopterSlowDeathBehavior ModuleTag_08 DestructionDelay = 99999999 ; the destruction delay SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) SoundDeathLoop = ComancheDamagedLoop MinSelfSpin = 100 ; in degrees per second MaxSelfSpin = 300 ; in degrees per second SelfSpinUpdateDelay = 100 ; in milliseconds SelfSpinUpdateAmount = 10 ; in degrees FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall MinBladeFlyOffDelay = 1500 ; in milliseconds MaxBladeFlyOffDelay = 1500 ; in milliseconds AttachParticle = SootySmokeTrail AttachParticleBone = Propeller02 BladeObjectName = ComancheBlades BladeBoneName = Propeller01 ; Most things that eject pilots do so immediately upon death, ; via use of EjectPilotDie, but Helicopters are a special case... ; they need to do so after their blades are ejected. OCLEjectPilot = OCL_EjectPilotViaParachute FXBlade = FX_HelicopterBladeExplosion OCLBlade = OCL_HelicopterBladeExplosion FXHitGround = FX_HelicopterHitGround OCLHitGround = OCL_HelicopterHitGround FXFinalBlowUp = FX_GroundedHelicopterBlowUp OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp DelayFromGroundToFinalDeath = 1500 FinalRubbleObject = ComancheRubbleHull End Behavior = TransitionDamageFX ModuleTag_09 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 2 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 60.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 4000 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 3.0 GeometryHeight = 25.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaJetA10Thunderbolt ; *** ART Parameters *** SelectPortrait = SAWarthog_L ButtonImage = SAWarthog Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = WeaponA01 ExtraPublicBone = WeaponA02 ExtraPublicBone = WeaponA03 ExtraPublicBone = WeaponA04 ExtraPublicBone = WeaponA05 ExtraPublicBone = WeaponA06 DefaultConditionState Model = AVWarthog WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 ParticleSysBone = Engine01 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Wingtip01 JetContrailThin ParticleSysBone = Wingtip02 JetContrailThin End ConditionState = REALLYDAMAGED Model = AVWarthog_D WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End AliasConditionState = RUBBLE ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:A10Thunderbolt EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 300 Prerequisites Object = AmericaAirfield End WeaponSet Conditions = None Weapon = PRIMARY A10ThunderboltVulcan End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience ; *** AUDIO Parameters *** SoundAmbient = A10ThunderboltAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject StartDive = A10ThunderboltDive End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE AIRCRAFT SCORE IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_02 MaxHealth = 600.0 InitialHealth = 600.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = JetSlowDeathBehavior ModuleTag_03 DestructionDelay = 99999999 ; destruction will happen when we RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetDeathInitial OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary OCLSecondary = None FXHitGround = FX_JetDeathHitGround OCLHitGround = OCL_A10DeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_A10DeathFinalBlowUp End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End ;SCRIPTED SUPPORT: These special power is triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = SuperweaponA10ThunderboltMissileStrike ;@@KRIS@@ UpgradeOCL = SCIENCE_A10ThunderboltMissileStrike3 SUPERWEAPON_A10ThunderboltMissileStrike3 UpgradeOCL = SCIENCE_A10ThunderboltMissileStrike2 SUPERWEAPON_A10ThunderboltMissileStrike2 OCL = SUPERWEAPON_A10ThunderboltMissileStrike1 CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = DeliverPayloadAIUpdate ModuleTag_07 End Locomotor = SET_NORMAL A10ThunderboltLocomotor Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 3 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_22 ;;;;;;;; End Geometry = Cylinder GeometryIsSmall = Yes GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaVehicleChinook ; *** ART Parameters *** SelectPortrait = SAChinook_L ButtonImage = SAChinook ;UpgradeCameo1 = Upgrade_AmericaCountermeasures ;UpgradeCameo1 = Upgrade_AmericaAdvancedTraining ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 ; Helicopter ExtraPublicBone = RopeStart ExtraPublicBone = RopeEnd DefaultConditionState Model = AVChinook Animation = AVChinook.AVChinook AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = AVChinook_d Animation = AVChinook_d.AVChinook_d AnimationMode = LOOP End ConditionState = RUBBLE Model = AVChinook_d Animation = AVChinook_d.AVChinook_d AnimationMode = LOOP End ConditionState = RUBBLE SPECIAL_DAMAGED Model = AVChinook_d HideSubObject = Props01 HideSubObject = Props02 End OkToChangeModelColor = Yes End Draw = W3DModelDraw ModuleTag_02 ; Cargo net ConditionState = NONE Model = None ; Nothing here TransitionKey = TRANS_Empty WaitForStateToFinishIfPossible = TRANS_Unloading End ConditionState = DYING Model = None ; Nothing here End AliasConditionState = RUBBLE AliasConditionState = CARRYING RUBBLE AliasConditionState = DOCKING RUBBLE AliasConditionState = DOCKING CARRYING RUBBLE ConditionState = CARRYING Model = AVChinook_A ;Carrying a full wobbly net of stuff Animation = AVChinook_A.AVChinook_A AnimationMode = LOOP TransitionKey = TRANS_Full WaitForStateToFinishIfPossible = TRANS_PickingUp End ConditionState = DOCKING Model = AVChinook_A1MSH ;Lowering an empty net, pulling up with stuff Animation = AVChinook_A1SK.AVChinook_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST AnimationSpeedFactorRange = .75 .75 TransitionKey = TRANS_PickingUp WaitForStateToFinishIfPossible = TRANS_Unloading ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. End ConditionState = DOCKING CARRYING Model = AVChinook_A1MSH ; Lowering a full net, letting stuff fall out, and pulling up an empty net Animation = AVChinook_A1SK.AVChinook_A1 AnimationMode = ONCE AnimationSpeedFactorRange = 2.75 2.75 TransitionKey = TRANS_Unloading WaitForStateToFinishIfPossible = TRANS_PickingUp ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. End End ; ***DESIGN parameters *** DisplayName = OBJECT:Chinook EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 600 BuildCost = 1200 BuildTime = 10.0 ;in seconds Prerequisites Object = AmericaSupplyCenter End ExperienceValue = 50 50 50 50 ;Experience point value at each level IsTrainable = No CommandSet = AmericaVehicleChinookCommandSet ArmorSet Conditions = None Armor = ChinookArmor DamageFX = None End ; *** AUDIO Parameters *** VoiceSelect = ChinookVoiceSelect VoiceMove = ChinookVoiceMove VoiceAttack = ChinookVoiceAttack SoundAmbient = ChinookAmbientLoop SoundAmbientRubble = NoSound SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds VoiceCreate = ChinookVoiceCreate VoiceSupply = ChinookVoiceSupply VoiceUnload = ChinookVoiceUnload VoiceCombatDrop = ChinookVoiceCombatDrop VoiceClearBuilding = RangerVoiceClearBuilding ;Special combat drop that clears buildings! VoiceGarrison = ChinookVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT ; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at ; (well, "near" actually) an Airfield to get healed... ; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there. KindOf = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT HARVESTER SCORE PRODUCED_AT_HELIPAD Body = ActiveBody ModuleTag_03 MaxHealth = 300.0 InitialHealth = 300.0 End Behavior = FXListDie ModuleTag_05 DeathFX = FX_HelicopterStartDeath End Behavior = TransitionDamageFX ModuleTag_06 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition End Behavior = ChinookAIUpdate ModuleTag_07 MaxBoxes = 8 SupplyCenterActionDelay = 2900 ;3000 ; ms for whole thing (one transaction) SupplyWarehouseActionDelay = 1200 ;1250 ; 875 ; ms per box (many small transactions) SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan) SuppliesDepletedVoice = ChinookVoiceSuppliesDepleted NumRopes = 4 ; these define how long we can wait, once a guy is on-rope, before throwing another ; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely ; and we'll wait for each guy to clear before spawning another. PerRopeDelayMin = 900 PerRopeDelayMax = 1500 RopeWidth = 0.5 RopeColor = R:0 G:0 B:0 RopeWobbleLen = 10 RopeWobbleAmplitude = 0.25 RopeWobbleRate = 180 RopeFinalHeight = 10 ; stop this far above ground RappelSpeed = 30 MinDropHeight = 40 ; if dropping into a tall bldg, go at least this far above it UpgradedSupplyBoost = 60 ; increase in value of the crates when supply lines has been upgraded End Locomotor = SET_NORMAL ChinookLocomotor Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor Behavior = TransportContain ModuleTag_08 Slots = 8 DamagePercentToUnits = 100% AllowInsideKindOf = INFANTRY VEHICLE ForbidInsideKindOf = AIRCRAFT HUGE_VEHICLE ExitDelay = 100 NumberOfExitPaths = 1 End Behavior = PhysicsBehavior ModuleTag_09 Mass = 50.0 End Behavior = HelicopterSlowDeathBehavior ModuleTag_10 DestructionDelay = 99999999 ; the destruction delay SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) SoundDeathLoop = ComancheDamagedLoop MinSelfSpin = 100 ; in degrees per second MaxSelfSpin = 300 ; in degrees per second SelfSpinUpdateDelay = 100 ; in milliseconds SelfSpinUpdateAmount = 10 ; in degrees FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall MinBladeFlyOffDelay = 1500 ; in milliseconds MaxBladeFlyOffDelay = 1500 ; in milliseconds AttachParticle = SootySmokeTrail AttachParticleBone = Propeller02 BladeObjectName = ComancheBlades BladeBoneName = Propeller01 FXBlade = FX_HelicopterBladeExplosion OCLBlade = OCL_HelicopterBladeExplosion FXHitGround = FX_HelicopterHitGround OCLHitGround = OCL_HelicopterHitGround FXFinalBlowUp = FX_GroundedHelicopterBlowUp OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp DelayFromGroundToFinalDeath = 30 FinalRubbleObject = ChinookRubbleHull End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 6.0 GeometryHeight = 12.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaJetCargoPlane ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVCargoPln Animation = AVCargoPln.AVCargoPln AnimationMode = LOOP ParticleSysBone = Propeller01 JetBlackTrailThin ParticleSysBone = Propeller02 JetBlackTrailThin ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin End ConditionState = DAMAGED Model = AVCargoPln_D Animation = AVCargoPln_D.AVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = REALLYDAMAGED Model = AVCargoPln_D Animation = AVCargoPln_D.AVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke03 JetFireLarge ParticleSysBone = Smoke05 JetFireLarge ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke05 JetSmokeLarge End ConditionState = RUBBLE Model = AVCargoPln_D1 Animation = AVCargoPln_D.AVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke06 JetFireLarge ParticleSysBone = Smoke03 JetFireLarge ParticleSysBone = Smoke05 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke06 JetSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke05 JetSmokeLarge End OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes End Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = AVCargoPln_A2 Animation = AVCargoPln_A2.AVCargoPln_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING Model = AVCargoPln_A2 Animation = AVCargoPln_A2.AVCargoPln_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_CLOSING Model = AVCargoPln_A2 Animation = AVCargoPln_A2.AVCargoPln_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:CargoPlane EditorSorting = VEHICLE Side = America TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 0.0 ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = TankDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End CommandSet = Command_ScriptedTransportDrops ; *** AUDIO Parameters *** SoundAmbient = C130AmbientLoop SoundAmbientRubble = NoSound ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT FORCEATTACKABLE IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 1000.0 InitialHealth = 1000.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = PhysicsBehavior ModuleTag_04 Mass = 500.0 End ;SCRIPTED SUPPORT: These special powers are triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_05 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ OCL = SUPERWEAPON_DaisyCutter CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = SuperweaponParadropAmerica UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 OCL = SUPERWEAPON_Paradrop1 CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_07 SpecialPowerTemplate = SuperweaponCarpetBomb OCL = SUPERWEAPON_CarpetBomb CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_08 SpecialPowerTemplate = SuperweaponCrateDrop OCL = SUPERWEAPON_CrateDrop CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = DeliverPayloadAIUpdate ModuleTag_09 DoorDelay = 500 MaxAttempts = 4 DropOffset = X:0 Y:0 Z:-10 DropDelay = 1000 ; time in between each item dropped (if more than one) PutInContainer = AmericaParachute DeliveryDistance = 150 End Locomotor = SET_NORMAL B52Locomotor Behavior = TransportContain ModuleTag_10 Slots = 100 ; hey, it's a BIG transport ScatterNearbyOnExit = No OrientLikeContainerOnExit = Yes KeepContainerVelocityOnExit = Yes ExitPitchRate = 30 ExitBone = WeaponA01 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE ;gs I added parachutable as a catch all to prevent making new kindofs (like CRATE) DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em NumberOfExitPaths = 0 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' End Behavior = JetSlowDeathBehavior ModuleTag_11 DestructionDelay = 2000 RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetBigDeathInitial OCLInitialDeath = OCL_AmericaJetCargoDeathStart DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time OCLSecondary = OCL_AmericaJetCargoHulkDeath FXSecondary = FX_BigPlaneDeath ; FXFinalBlowUp = FX_JetDeathFinalBlowUp ; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_12 ;;;;;;;; End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_13 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = TransitionDamageFX ModuleTag_17 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition End Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 40.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaInfantryColonelBurton ; *** ART Parameters *** SelectPortrait = SABurton_L ButtonImage = SABurton UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaChemicalSuits Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; idle DefaultConditionState Model = AIHERO_SKN IdleAnimation = AIHERO_SKL.AIHERO_STA 0 25 IdleAnimation = AIHERO_SKL.AIHERO_IDA IdleAnimation = AIHERO_SKL.AIHERO_IDB AnimationMode = ONCE TransitionKey = TRANS_Stand WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponMuzzleFlash = SECONDARY NONE HideSubObject = MUZZLEFX01 End ; injured idle ConditionState = REALLYDAMAGED IdleAnimation = AIHERO_SKL.AIHERO_ISTA 0 30 IdleAnimation = AIHERO_SKL.AIHERO_IIDA IdleAnimation = AIHERO_SKL.AIHERO_IIDB AnimationMode = ONCE TransitionKey = TRANS_StandInjured End TransitionState = TRANS_Stand TRANS_StandInjured Animation = AIHERO_SKL.AIHERO_ISTAHIT AnimationMode = ONCE End ; moving ConditionState = MOVING Animation = AIHERO_SKL.AIHERO_RNA 26 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Walking ParticleSysBone = None InfantryDustTrails HideSubObject = MUZZLEFX01 End AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING FIRING_B AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B AliasConditionState = MOVING RELOADING_B ; injured moving ConditionState = MOVING REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IRNA 26 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_WalkingInjured ParticleSysBone = None InfantryDustTrails HideSubObject = MUZZLEFX01 End AliasConditionState = MOVING FIRING_A REALLYDAMAGED AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED AliasConditionState = MOVING RELOADING_A REALLYDAMAGED AliasConditionState = MOVING FIRING_B REALLYDAMAGED AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B REALLYDAMAGED AliasConditionState = MOVING RELOADING_B REALLYDAMAGED ; Firing animation ConditionState = FIRING_A Animation = AIHERO_SKL.AIHERO_ATA AnimationMode = ONCE AnimationSpeedFactorRange = 1.5 1.5 TransitionKey = TRANS_FiringA End ConditionState = BETWEEN_FIRING_SHOTS_A Animation = AIHERO_SKL.AIHERO_ATA AnimationMode = MANUAL Flags = START_FRAME_LAST WaitForStateToFinishIfPossible = TRANS_FiringA End AliasConditionState = RELOADING_A ; Injured Firing animation ConditionState = FIRING_A REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATA AnimationMode = ONCE AnimationSpeedFactorRange = 1.5 1.5 TransitionKey = TRANS_FiringAInjured End ConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATA AnimationMode = MANUAL Flags = START_FRAME_LAST WaitForStateToFinishIfPossible = TRANS_FiringAInjured End AliasConditionState = RELOADING_A REALLYDAMAGED TransitionState = TRANS_FiringA TRANS_FiringAInjured Animation = AIHERO_SKL.AIHERO_IATAHIT AnimationMode = ONCE End ; Placing charge animation ConditionState = UNPACKING Animation = AIHERO_SKL.AIHERO_ATB1 AnimationMode = ONCE End AliasConditionState = MOVING UNPACKING ; Injured Placing charge animation ConditionState = UNPACKING REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATB1 AnimationMode = ONCE End AliasConditionState = MOVING UNPACKING REALLYDAMAGED ; Stab animations ConditionState = PREATTACK_B Animation = AIHERO_SKL.AIHERO_ATC AnimationMode = ONCE TransitionKey = TRANS_Stabbing HideSubObject = MUZZLEFX01 End AliasConditionState = PREATTACK_B MOVING AliasConditionState = PREATTACK_B FIRING_B AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B ConditionState = FIRING_B Animation = AIHERO_SKL.AIHERO_ATC AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_Stabbing HideSubObject = MUZZLEFX01 End AliasConditionState = BETWEEN_FIRING_SHOTS_B AliasConditionState = RELOADING_B TransitionState = TRANS_Stabbing TRANS_Stand Animation = AIHERO_SKL.AIHERO_ATC2 AnimationMode = ONCE End ; Injured Stab animations ConditionState = PREATTACK_B REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATC1 AnimationMode = ONCE TransitionKey = TRANS_StabbingInjured HideSubObject = MUZZLEFX01 End AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED ConditionState = FIRING_B REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATC2 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_StabbingInjured HideSubObject = MUZZLEFX01 End AliasConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED AliasConditionState = RELOADING_B REALLYDAMAGED TransitionState = TRANS_StabbingInjured TRANS_StandInjured Animation = AIHERO_SKL.AIHERO_IATC2 AnimationMode = ONCE End ; cheering ConditionState = SPECIAL_CHEERING Animation = AIHERO_SKL.AIHERO_CHA AnimationMode = ONCE End ; injured cheering ConditionState = SPECIAL_CHEERING REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_ICHA AnimationMode = ONCE End ; climbing ConditionState = CLIMBING Animation = AIHERO_SKL.AIHERO_CLMID AnimationMode = LOOP TransitionKey = TRANS_Climbing End AliasConditionState = RAPPELLING AliasConditionState = CLIMBING REALLYDAMAGED AliasConditionState = RAPPELLING REALLYDAMAGED ConditionState = CLIMBING MOVING Animation = AIHERO_SKL.AIHERO_CLMUP AnimationMode = LOOP TransitionKey = TRANS_Climbing End AliasConditionState = CLIMBING MOVING REALLYDAMAGED ConditionState = RAPPELLING MOVING Animation = AIHERO_SKL.AIHERO_CLMUP AnimationMode = LOOP_BACKWARDS TransitionKey = TRANS_Climbing End AliasConditionState = RAPPELLING MOVING REALLYDAMAGED ; these transitions don't really work well with our code. leave 'em out. ; TransitionState = TRANS_Climbing TRANS_Stand ; Animation = AIHERO_SKL.AIHERO_CLMST ; AnimationMode = ONCE ; End ; ; TransitionState = TRANS_Stand TRANS_Climbing ; Animation = AIHERO_SKL.AIHERO_CLMST ; AnimationMode = ONCE_BACKWARDS ; End ; dying anims ConditionState = DYING Animation = AIHERO_SKL.AIHERO_DTA Animation = AIHERO_SKL.AIHERO_DTB Animation = AIHero_SKL.AIHero_IDTA Animation = AIHero_SKL.AIHero_IDTB AnimationMode = ONCE TransitionKey = TRANS_Dying End AliasConditionState = RAPPELLING DYING AliasConditionState = CLIMBING DYING TransitionState = TRANS_Dying TRANS_Flailing Animation = AIHERO_SKL.AIHERO_ADTG21 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIHERO_SKL.AIHERO_ADTG22 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIHERO_SKL.AIHERO_ADTG23 AnimationMode = ONCE TransitionKey = None End ; misc anims ConditionState = FREEFALL Animation = AIHERO_SKL.AIHERO_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIHERO_SKL.AIHERO_PHG AnimationMode = LOOP TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = AIHERO_SKL.AIHERO_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = AIHERO_SKL.AIHERO_PTD AnimationMode = ONCE End TransitionState = TRANS_Chute TRANS_StandInjured Animation = AIHERO_SKL.AIHERO_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:ColonelBurton Side = America EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 150 ShroudClearingRange = 500 Prerequisites Object = AmericaBarracks Object = AmericaStrategyCenter End BuildCost = 1500 BuildTime = 20.0 ;in seconds ExperienceValue = 50 100 100 150 ; Experience point value at each level ExperienceRequired = 0 200 300 600 ; Experience points needed to gain each level IsTrainable = Yes ; Can gain experience CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaInfantryColonelBurtonCommandSet MaxSimultaneousOfType = 1 WeaponSet Conditions = None Weapon = PRIMARY ColonelBurtonSniperRifleWeapon Weapon = SECONDARY ColonelBurtonKnifeWeapon AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = SECONDARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = InfantryDamageFX End ; *** AUDIO Parameters *** VoiceSelect = ColonelBurtonVoiceSelect VoiceMove = ColonelBurtonVoiceMove VoiceAttack = ColonelBurtonVoiceAttack VoiceFear = ColonelBurtonVoiceFear VoiceGuard = ColonelBurtonVoiceMove SoundStealthOn = StealthOn SoundStealthOff = StealthOff UnitSpecificSounds VoiceMelee = ColonelBurtonVoiceAttackKnife VoiceCreate = ColonelBurtonVoiceCreate VoiceGarrison = ColonelBurtonVoiceGarrison VoiceEnter = ColonelBurtonVoiceMove VoiceEnterHostile = ColonelBurtonVoiceMove VoiceGetHealed = ColonelBurtonVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE HERO CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 200.0 InitialHealth = 200.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. End Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor ColonelBurtonCliffLocomotor Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End Behavior = StealthUpdate ModuleTag_07 StealthDelay = 2000 ; msec StealthForbiddenConditions = FIRING_PRIMARY HintDetectableConditions = IS_FIRING_WEAPON FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes EnemyDetectionEvaEvent = EnemyColonelBurtonDetected OwnDetectionEvaEvent = OwnColonelBurtonDetected End Behavior = SpecialAbility ModuleTag_08 SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges UpdateModuleStartsAttack = Yes InitiateSound = ColonelBurtonVoicePlantRemoteCharge End Behavior = SpecialAbilityUpdate ModuleTag_09 SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges StartAbilityRange = 0.0 PreparationTime = 0 SpecialObject = RemoteC4Charge MaxSpecialObjects = 8 SpecialObjectsPersistWhenOwnerDies = No ;Charges are removed instantly when owner dies (nobody can detonate). AlwaysValidateSpecialObjects = Yes ;Coupled with the above setting, this one is necessary for code optimization. SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge PackTime = 0 SkipPackingWithNoTarget = Yes ;When yes, the packing/unpacking will be ignored when detonating charges. FlipOwnerAfterUnpacking = Yes FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability UnpackSound = ColonelBurtonPlantCharge LoseStealthOnTrigger = Yes PreTriggerUnstealthTime = 5000 ; in milliseconds End Behavior = SpecialAbility ModuleTag_10 SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges UpdateModuleStartsAttack = Yes InitiateSound = ColonelBurtonVoicePlantTimedCharge End Behavior = SpecialAbilityUpdate ModuleTag_11 SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges StartAbilityRange = 0.0 PreparationTime = 0 SpecialObject = TimedC4Charge MaxSpecialObjects = 10 SpecialObjectsPersistWhenOwnerDies = Yes SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge FlipOwnerAfterUnpacking = Yes FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability UnpackSound = ColonelBurtonPlantCharge LoseStealthOnTrigger = Yes PreTriggerUnstealthTime = 5000 ; in milliseconds End Behavior = ExperienceScalarUpgrade ModuleTag_12 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End ;Hero units can't be squished! ;Behavior = SquishCollide ModuleTag_13 ; ;nothing ;End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_ColonelBurtonDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_ColonelBurtonDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_18 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14 ShadowSizeY = 14 ShadowTexture = ShadowI BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object AmericaInfantryRanger ; *** ART Parameters *** SelectPortrait = SARanger_L ButtonImage = SARanger UpgradeCameo1 = Upgrade_AmericaRangerFlashBangGrenade UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_InfantryCaptureBuilding UpgradeCameo4 = Upgrade_AmericaChemicalSuits ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; this says "we don't use these condition states at all, so completely ; ignore them for purposes of matchmaking"... this is useful to help ; reduce the number of AliasConditionState clauses you must add in ; order to avoid ambiguity in some cases. IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A ; --- Idle DefaultConditionState Model = AIRngr_SKN IdleAnimation = AIRngr_SKL.AIRngr_STA 0 35 IdleAnimation = AIRngr_SKL.AIRngr_IDA IdleAnimation = AIRngr_SKL.AIRngr_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle TransitionKey = TRANS_Stand End ConditionState = REALLYDAMAGED IdleAnimation = AIRngr_SKL.AIRngr_STB 0 35 IdleAnimation = AIRngr_SKL.AIRngr_IDC IdleAnimation = AIRngr_SKL.AIRngr_IDD AnimationMode = ONCE TransitionKey = TRANS_StandInjured End TransitionState = TRANS_Stand TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_SA2SB AnimationMode = ONCE End ConditionState = SNOW Model = AIRanger_S Animation = AIRanger_S.AIRanger_S AnimationMode = LOOP End ; --- attacking (Machine Gun) ConditionState = USING_WEAPON_A Animation = AIRngr_SKL.AIRngr_ATA AnimationMode = LOOP TransitionKey = TRANS_FiringA End ConditionState = USING_WEAPON_A REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATA2 AnimationMode = LOOP TransitionKey = TRANS_FiringAInjured End TransitionState = TRANS_FiringA TRANS_FiringAInjured Animation = AIRngr_SKL.AIRngr_A2WAA AnimationMode = ONCE End TransitionState = TRANS_Stand TRANS_FiringA Animation = AIRngr_SKL.AIRngr_ATAST AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_FiringA TRANS_Stand Animation = AIRngr_SKL.AIRngr_ATAED AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_StandInjured TRANS_FiringAInjured Animation = AIRngr_SKL.AIRngr_S2WAA AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_FiringAInjured TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_WAA2S AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_Stand TRANS_Move Animation = AIRngr_SKL.AIRngr_STA2RNA AnimationMode = ONCE End ; --- attacking (Grenade Launcher) ConditionState = PREATTACK_B Animation = AIRngr_SKL.AIRngr_ATBA AnimationMode = ONCE TransitionKey = TRANS_FiringB End AliasConditionState = PREATTACK_B MOVING AliasConditionState = PREATTACK_B FIRING_B AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B ConditionState = FIRING_B Animation = AIRngr_SKL.AIRngr_ATBB AnimationMode = ONCE TransitionKey = TRANS_FiringB End ConditionState = BETWEEN_FIRING_SHOTS_B Animation = AIRngr_SKL.AIRngr_ATBB AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_FiringB WaitForStateToFinishIfPossible = TRANS_FiringB End AliasConditionState = RELOADING_B TransitionState = TRANS_Stand TRANS_FiringB Animation = AIRngr_SKL.AIRngr_ATBST1 AnimationMode = ONCE End TransitionState = TRANS_FiringB TRANS_Stand Animation = AIRngr_SKL.AIRngr_ATBST2 AnimationMode = ONCE End ConditionState = PREATTACK_B REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATB2A AnimationMode = ONCE TransitionKey = TRANS_FiringBInjured End AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED ConditionState = FIRING_B REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATB2B AnimationMode = ONCE TransitionKey = TRANS_FiringBInjured End ConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATB2B AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_FiringBInjured WaitForStateToFinishIfPossible = TRANS_FiringBInjured End AliasConditionState = RELOADING_B REALLYDAMAGED TransitionState = TRANS_StandInjured TRANS_FiringBInjured Animation = AIRngr_SKL.AIRngr_ATB2ST1 AnimationMode = ONCE End TransitionState = TRANS_FiringBInjured TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_ATB2ST2 AnimationMode = ONCE End ; -- cross-attack transitions TransitionState = TRANS_FiringA TRANS_FiringB Animation = AIRngr_SKL.AIRngr_ATA2AB AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_FiringB TRANS_FiringA Animation = AIRngr_SKL.AIRngr_ATA2AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 4 4 End ; --- moving ConditionState = MOVING Animation = AIRngr_SKL.AIRngr_RNA 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Move ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING ConditionState = MOVING REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_RNB 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Move End AliasConditionState = MOVING REALLYDAMAGED ATTACKING ; --- dying anims ConditionState = DYING Animation = AIRngr_SKL.AIRngr_DTA Animation = AIRngr_SKL.AIRngr_DTB AnimationMode = ONCE TransitionKey = None End TransitionState = TRANS_Dying TRANS_Flailing Animation = AIRngr_SKL.AIRngr_ADTF1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIRngr_SKL.AIRngr_ADTF2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIRngr_SKL.AIRngr_ADTF3 AnimationMode = ONCE TransitionKey = None End AliasConditionState = DYING SPLATTED ; --- cheering ConditionState = SPECIAL_CHEERING Animation = AIRngr_SKL.AIRngr_CHA AnimationMode = LOOP End ConditionState = SPECIAL_CHEERING REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_CHB AnimationMode = LOOP End ; ----- PARACHUTING ANIMATIONS ConditionState = FREEFALL Animation = AIRngr_SKL.AIRngr_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIRngr_SKL.AIRngr_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = AIRngr_SKL.AIRngr_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = AIRngr_SKL.AIRngr_PTD AnimationMode = ONCE End TransitionState = TRANS_Chute TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_PTD AnimationMode = ONCE End ; ------- Bldg-capture ConditionState = UNPACKING Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP1 AnimationMode = ONCE End AliasConditionState = UNPACKING REALLYDAMAGED ConditionState = RAISING_FLAG Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP2 AnimationMode = ONCE TransitionKey = TRANS_Raising End AliasConditionState = RAISING_FLAG REALLYDAMAGED ConditionState = PACKING Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST TransitionKey = TRANS_Packing End AliasConditionState = PACKING REALLYDAMAGED TransitionState = TRANS_Raising TRANS_Packing Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ; --- RAPPELLING ANIMATIONS ConditionState = RAPPELLING Animation = AIRngr_SKL.AIRngr_RPL1 ;30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Rappelling End AliasConditionState = MOVING RAPPELLING TransitionState = TRANS_Rappelling TRANS_Stand Animation = AIRngr_SKL.AIRngr_RPL2 AnimationMode = ONCE End TransitionState = TRANS_Rappelling TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_RPL2 AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Ranger Side = America EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY RangerAdvancedCombatRifle End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY RangerAdvancedCombatRifle Weapon = SECONDARY RangerFlashBangGrenadeWeapon AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = None End VisionRange = 100 ShroudClearingRange = 400 Prerequisites Object = AmericaBarracks End BuildCost = 225 BuildTime = 5.0 ;in seconds ExperienceValue = 20 20 40 60 ;Experience point value at each level ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaInfantryRangerCommandSet ; *** AUDIO Parameters *** VoiceSelect = RangerVoiceSelect VoiceMove = RangerVoiceMove VoiceGuard = RangerVoiceMove VoiceAttack = RangerVoiceAttack VoiceFear = RangerVoiceFear VoiceTaskComplete = RangerVoiceCaptureComplete UnitSpecificSounds VoiceEnter = RangerVoiceMove VoiceEnterHostile = RangerVoiceMove VoiceGarrison = RangerVoiceGarrison VoiceCreate = RangerVoiceCreate VoiceSubdue = RangerVoiceSubdue VoiceClearBuilding = RangerVoiceClearBuilding VoiceGetHealed = RangerVoiceMove VoicePrimaryWeaponMode = RangerVoiceModeGun VoiceSecondaryWeaponMode = RangerVoiceModeFlashBang End UnitSpecificFX ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs CombatDropKillFX = FX_RangerCombatDropKill End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY CAN_RAPPEL SCORE Behavior = CommandButtonHuntUpdate ModuleTag_02 End Body = ActiveBody ModuleTag_03 MaxHealth = 180.0 InitialHealth = 180.0 End Behavior = ExperienceScalarUpgrade ModuleTag_04 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Behavior = AIUpdateInterface ModuleTag_06 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL BasicHumanLocomotor Behavior = PhysicsBehavior ModuleTag_07 Mass = 5.0 End Behavior = ProductionUpdate ModuleTag_08 ; nothing End Behavior = CommandButtonHuntUpdate ModuleTag_09 ; allows use of command button hunt script with this unit. End Behavior = WeaponSetUpgrade ModuleTag_10 TriggeredBy = Upgrade_AmericaRangerFlashBangGrenade End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RangerDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RangerDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = SquishCollide ModuleTag_12 ;nothing End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End Behavior = PoisonedBehavior ModuleTag_17 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SpecialAbility ModuleTag_18 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding UpdateModuleStartsAttack = Yes StartsPaused = Yes ; Unpaused by upgrade module InitiateSound = RangerVoiceCapture End Behavior = SpecialAbilityUpdate ModuleTag_19 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding StartAbilityRange = 5.0 UnpackTime = 3000 ; (changing this will scale anim speed) PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) PackTime = 2000 ; (changing this will scale anim speed) DoCaptureFX = Yes AwardXPForTriggering = 15 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_20 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding TriggeredBy = Upgrade_InfantryCaptureBuilding End Behavior = LockWeaponCreate ModuleTag_21 SlotToLock = PRIMARY ; Prevents indeterminate state plus two unpickable weapons equaling no attack. End Geometry = CYLINDER GeometryMajorRadius = 7.0 GeometryMinorRadius = 7.0 GeometryHeight = 13.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object AmericaInfantryMissileDefender ; *** ART Parameters *** SelectPortrait = SAMissleDefender_L ButtonImage = SAMissleDefender UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaChemicalSuits ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;***NOTE*** ;A little history -- the MissileDefender now uses the assets of the TankHunter. ;The TH uses assets of the GLA tunnel defender, and the TD uses assets of the NEW ;MD. It was a design/art/code decision because the new missile defender animations ;don't suit that of a mobile/offensive unit with packing and unpacking. DefaultConditionState Model = NITHNT_SKN IdleAnimation = NITHNT_SKL.NITHNT_STA 0 30 IdleAnimation = NITHNT_SKL.NITHNT_IDA IdleAnimation = NITHNT_SKL.NITHNT_IDB AnimationMode = ONCE AnimationSpeedFactorRange = 0.8 1.2 TransitionKey = TRANS_Stand WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = PRIMARY Muzzle WeaponLaunchBone = PRIMARY Muzzle WeaponLaunchBone = SECONDARY Muzzle End AliasConditionState = REALLYDAMAGED ConditionState = FIRING_A Animation = NITHNT_SKL.NITHNT_ATA AnimationMode = ONCE TransitionKey = TRANS_START_FIRING End AliasConditionState = FIRING_A REALLYDAMAGED ConditionState = BETWEEN_FIRING_SHOTS_A Animation = NITHNT_SKL.NITHNT_STA AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_START_FIRING End AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED ConditionState = MOVING Animation = NITHNT_SKL.NITHNT_RNA 20 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING REALLYDAMAGED ConditionState = RELOADING_A Animation = NITHNT_SKL.NITHNT_ATA 10 AnimationMode = ONCE ;WeaponLaunchBone = PRIMARY WeaponA End AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING RELOADING_A REALLYDAMAGED ConditionState = DYING Animation = NITHNT_SKL.NITHNT_DTA Animation = NITHNT_SKL.NITHNT_DTB AnimationSpeedFactorRange = 0.9 1.25 AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = NITHNT_SKL.NITHNT_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = NITHNT_SKL.NITHNT_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = NITHNT_SKL.NITHNT_ADTA3 AnimationMode = ONCE TransitionKey = None End ;PARACHUTING ANIMATIONS ConditionState = FREEFALL Animation = NITHNT_SKL.NITHNT_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = NITHNT_SKL.NITHNT_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = NITHNT_SKL.NITHNT_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = NITHNT_SKL.NITHNT_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:MissileTeam Side = America EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY MissileDefenderMissileWeapon Weapon = SECONDARY MissileDefenderLaserGuidedMissileWeapon ;Controlled by special ability AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = SECONDARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 400 Prerequisites Object = AmericaBarracks End BuildCost = 300 BuildTime = 5.0 ;in seconds ExperienceValue = 20 20 40 60 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaInfantryMissileDefenderCommandSet ; *** AUDIO Parameters *** VoiceSelect = MissileDefenderVoiceSelect VoiceMove = MissileDefenderVoiceMove VoiceGuard = MissileDefenderVoiceMove VoiceAttack = MissileDefenderVoiceAttack VoiceAttackAir = MissileDefenderVoiceAttack VoiceFear = MissileDefenderVoiceFear UnitSpecificSounds VoiceGarrison = MissileDefenderVoiceGarrison VoiceCreate = MissileDefenderVoiceCreate VoiceEnter = MissileDefenderVoiceMove VoiceGetHealed = MissileDefenderVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End Behavior = ExperienceScalarUpgrade ModuleTag_03 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = Yes End Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Locomotor = SET_NORMAL MissileDefenderLocomotor Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = SpecialAbility ModuleTag_08 SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles UpdateModuleStartsAttack = Yes InitiateSound = MissileDefenderVoiceAttackLaser End Behavior = SpecialAbilityUpdate ModuleTag_09 SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles StartAbilityRange = 200.0 AbilityAbortRange = 250.0 ;If the target moves outside this range, abort. PreparationTime = 1000 PersistentPrepTime = 500 SpecialObject = LaserBeam SpecialObjectAttachToBone = Muzzle01 End ;Added by JMC on 7/12/03 so that the skirmish AI can tell the missile defenders to hunt using ;the laser guided missiles. Behavior = CommandButtonHuntUpdate ModuleTag_CBHunt ; allows use of command button hunt script with this unit. End Behavior = SquishCollide ModuleTag_10 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_MissileDefenderDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_MissileDefenderDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 7.0 GeometryMinorRadius = 7.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ; @todo -- this entire unit is "first pass only" and needs lots of specialization Object AmericaInfantryPilot ; *** ART Parameters *** SelectPortrait = SAPilot_L ButtonImage = SAPilot UpgradeCameo1 = Upgrade_AmericaChemicalSuits UpgradeCameo2 = Upgrade_AmericaAdvancedTraining ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AIRPlt_SKN IdleAnimation = AIRPlt_SKL.AIRPlt_STA 0 20 IdleAnimation = AIRPlt_SKL.AIRPlt_IDA IdleAnimation = AIRPlt_SKL.AIRPlt_IDB AnimationMode = ONCE TransitionKey = TRANS_Stand End ConditionState = FREEFALL Animation = AIRPlt_SKL.AIRPLT_PFL AnimationMode = ONCE TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIRPlt_SKL.AIRPlt_PHG AnimationMode = LOOP TransitionKey = TRANS_Chute WaitForStateToFinishIfPossible = TRANS_Falling End AliasConditionState = PARACHUTING DYING ConditionState = MOVING Animation = AIRPlt_SKL.AIRPlt_RNA AnimationMode = LOOP TransitionKey = TRANS_Stand ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = AIRPlt_SKL.AIRPlt_DTA Animation = AIRPlt_SKL.AIRPlt_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = AIRPlt_SKL.AIRPlt_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIRPlt_SKL.AIRPlt_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIRPlt_SKL.AIRPlt_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = AIRPLT_SKL.AIRPLT_CHA AnimationMode = LOOP End ;@TODO -- MISSING ANIMATION FILE ;TransitionState = TRANS_Falling TRANS_Chute ; Animation = AIRPLT_SKL.AIRPLT_POP ; AnimationMode = ONCE ; Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first ;End TransitionState = TRANS_Chute TRANS_Stand Animation = AIRPlt_SKL.AIRPlt_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Pilot Side = America EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) ExperienceValue = 10 10 10 10 ;Experience point value at each level ExperienceRequired = 0 1 2 3 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CommandSet = AmericaInfantryPilotCommandSet ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 300 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = PilotVoiceSelect VoiceMove = PilotVoiceMove VoiceAttack = PilotVoiceMove VoiceGarrison = PilotVoiceMove VoiceFear = PilotVoiceFear UnitSpecificSounds VoiceEnter = PilotVoiceEnter VoiceEnterHostile = PilotVoiceEnter VoiceGetHealed = PilotVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY NO_GARRISON SCORE IGNORES_SELECT_ALL Behavior = VeterancyGainCreate ModuleTag_02 ; omit the "ScienceRequired" so that this upgrade always occurs. ; Pilots should never (repeat, never) be less than VETERAN status. StartingLevel = VETERAN End Behavior = VeterancyCrateCollide ModuleTag_03 RequiredKindOf = VEHICLE ; we only give our bonus to VEHICLEs we collide with ForbiddenKindOf = DOZER ; but not to TRANSPORTs or DOZERs! EffectRange = 0 ; 0=="affect only the thing you collide with" AddsOwnerVeterancy = Yes ; we add our own veterancy to the target (rather than just +1 level) IsPilot = Yes ; set the pilot flag because it's different than the veterancy crate and has extra checking End Body = ActiveBody ModuleTag_04 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_05 AutoAcquireEnemiesWhenIdle = Yes End Behavior = AutoFindHealingUpdate ModuleTag_06 ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Behavior = PilotFindVehicleUpdate ModuleTag_07 ; This update will have the unit go to a vehicle. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; MinHealth = 0.5 ; don't enter a vehicle less than 50% healthy. End Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor Locomotor = SET_NORMAL_UPGRADED BasicHumanLocomotorPlus25 Behavior = PhysicsBehavior ModuleTag_08 Mass = 5.0 End Behavior = LocomotorSetUpgrade ModuleTag_10 TriggeredBy = Upgrade_Veterancy_HEROIC End Behavior = SquishCollide ModuleTag_11 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PilotDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PilotDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_14 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object AmericaInfantryPathfinder ; *** ART Parameters *** SelectPortrait = SAPathfinder1_L ButtonImage = SAPathfinder1 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaChemicalSuits ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AIPFDR_SKN IdleAnimation = AIPFDR_SKL.AIPFDR_STA IdleAnimation = AIPFDR_SKL.AIPFDR_IDA AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX TransitionKey = TRANS_Standing End AliasConditionState = REALLYDAMAGED ConditionState = MOVING Animation = AIPFDR_SKL.AIPFDR_RNA 25 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Standing ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING REALLYDAMAGED ConditionState = FIRING_A Animation = AIPFDR_SKL.AIPFDR_ATB ; recoil in standing position AnimationMode = ONCE TransitionKey = TRANS_FiringA End AliasConditionState = FIRING_A MOVING AliasConditionState = FIRING_A MOVING REALLYDAMAGED AliasConditionState = FIRING_A REALLYDAMAGED ConditionState = BETWEEN_FIRING_SHOTS_A Animation = AIPFDR_SKL.AIPFDR_ATBST ; motionless in standing position AnimationMode = ONCE WaitForStateToFinishIfPossible = TRANS_FiringA End AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED AliasConditionState = RELOADING_A AliasConditionState = RELOADING_A REALLYDAMAGED ConditionState = DYING Animation = AIPFDR_SKL.AIPFDR_DTA AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = AIPFDR_SKL.AIPFDR_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIPFDR_SKL.AIPFDR_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIPFDR_SKL.AIPFDR_ADTA3 AnimationMode = ONCE TransitionKey = None End ConditionState = FREEFALL Animation = AIPFDR_SKL.AIPFDR_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIPFDR_SKL.AIPFDR_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ;our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = AIPFDR_SKL.AIPFDR_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ;our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Standing Animation = AIPFDR_SKL.AIPFDR_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Pathfinder Side = America EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY USAPathfinderSniperRifle End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = InfantryDamageFX End VisionRange = 200 ShroudClearingRange = 400 Prerequisites Object = AmericaBarracks Science = SCIENCE_Pathfinder End BuildCost = 600 BuildTime = 10.0 ;in seconds ExperienceValue = 40 40 60 80 ;Experience point value at each level ExperienceRequired = 0 50 100 200 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaInfantryPathfinderCommandSet ; *** AUDIO Parameters *** VoiceSelect = PathfinderVoiceSelect VoiceMove = PathfinderVoiceMove VoiceGuard = PathfinderVoiceMove VoiceAttack = PathfinderVoiceAttack VoiceFear = PathfinderVoiceFear SoundStealthOn = StealthOn SoundStealthOff = StealthOff VoiceFear = PathfinderVoiceFear UnitSpecificSounds VoiceCreate = PathfinderVoiceCreate VoiceGarrison = PathfinderVoiceGarrison VoiceEnter = PathfinderVoiceMove VoiceEnterHostile = PathfinderVoiceMove VoiceGetHealed = PathfinderVoiceMove End ; *** ENGINEERING Parameters *** Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY STEALTH_GARRISON SCORE CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes Stealthed MoodAttackCheckRate = 250 End Behavior = AutoFindHealingUpdate ModuleTag_04 ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor Behavior = ExperienceScalarUpgrade ModuleTag_05 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = StealthDetectorUpdate ModuleTag_08 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = StealthUpdate ModuleTag_09 StealthDelay = 0 ; msec StealthForbiddenConditions = MOVING ; stays stealthy while attacking FriendlyOpacityMin = 30.0% FriendlyOpacityMax = 80.0% PulseFrequency = 500 ; msec MoveThresholdSpeed = 3 InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = SquishCollide ModuleTag_10 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PathfinderDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PathfinderDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object AmericaVehicleHumvee ; *** ART Parameters *** SelectPortrait = SAHummer_L ButtonImage = SAHummer UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining UpgradeCameo5 = Upgrade_AmericaTOWMissile Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = AVHUMMER Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01 WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX End ConditionState = REALLYDAMAGED Model = AVHUMMER_d Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01 WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX End ConditionState = WEAPONSET_PLAYER_UPGRADE Model = AVHUMMER Turret = TurretUp01 HideSubObject = Turret MuzzleFX01 ShowSubObject = TurretUp01 Housecolor03 WeaponFireFXBone = PRIMARY MuzzleUp WeaponMuzzleFlash = PRIMARY MuzzleFXUp WeaponFireFXBone = SECONDARY WeaponB WeaponLaunchBone = SECONDARY WeaponB WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End ConditionState = REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE Model = AVHUMMER_d Turret = TurretUp01 HideSubObject = Turret MuzzleFX01 ShowSubObject = TurretUp01 Housecolor03 WeaponFireFXBone = PRIMARY MuzzleUp WeaponMuzzleFlash = PRIMARY MuzzleFXUp WeaponFireFXBone = SECONDARY WeaponB WeaponLaunchBone = SECONDARY WeaponB WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 1.25 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:Humvee Side = America EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY HumveeGun Weapon = SECONDARY HumveeMissileWeaponAirDummy End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY HumveeGun Weapon = SECONDARY HumveeMissileWeapon Weapon = TERTIARY HumveeMissileWeaponAir PreferredAgainst = TERTIARY AIRCRAFT End ArmorSet Conditions = None Armor = HumveeArmor DamageFX = TruckDamageFX End BuildCost = 700 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 320 Prerequisites Object = AmericaWarFactory End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaVehicleHumveeCommandSet ; *** AUDIO Parameters *** VoiceSelect = HumveeVoiceSelect VoiceMove = HumveeVoiceMove VoiceGuard = HumveeVoiceMove VoiceAttack = HumveeVoiceAttack VoiceAttackAir = HumveeVoiceAttackTOW SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs ;TurretMoveStart = NoSound VoiceCreate = HumveeVoiceCreate TurretMoveLoop = TurretMoveLoop SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = HumveeVoiceCrush ; Required for the W3DTruckDraw module TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceUnload = HumveeVoiceUnload VoiceEnter = HumveeVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = TransportAIUpdate ModuleTag_03 Turret TurretTurnRate = 180 RecenterTime = 5000 ; how long to wait during idle before recentering ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY End AutoAcquireEnemiesWhenIdle = Yes MoodAttackCheckRate = 250 End Locomotor = SET_NORMAL HumveeLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = TransportContain ModuleTag_05 PassengersAllowedToFire = Yes Slots = 5 ; EnterSound = GarrisonEnter ; ExitSound = GarrisonExit DamagePercentToUnits = 100% ;10% AllowInsideKindOf = INFANTRY ExitDelay = 250 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting End Behavior = ObjectCreationUpgrade ModuleTag_06 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_07 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_14 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_08 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = WeaponSetUpgrade ModuleTag_09 TriggeredBy = Upgrade_AmericaTOWMissile End Behavior = ExperienceScalarUpgrade ModuleTag_10 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = SlowDeathBehavior ModuleTag_11 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 25 DestructionDelay = 1 OCL = INITIAL OCL_InitialHumveeDebris FX = FINAL FX_BattleMasterExplosionOneFinal OCL = FINAL OCL_FinalHumveeDebris End Behavior = DestroyDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End ; This is commented out per hotlist request 10/9 ML ; Behavior = CreateObjectDie ModuleTag_15 ; DeathTypes = ALL -CRUSHED -SPLATTED ; CreationList = OCL_AmericanRangerDebris01 ; ExemptStatus = HIJACKED ; End Behavior = EjectPilotDie ModuleTag_16 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED ; The following added out per hotlist request 10/9 as above ML VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute End Behavior = TransitionDamageFX ModuleTag_17 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 11.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;---------------------------------------------------------- Object AmericaVehicleTomahawk ; *** ART Parameters *** SelectPortrait = SACTomahawk_L ButtonImage = SACTomahawk UpgradeCameo1 = Upgrade_AmericaScoutDrone UpgradeCameo2 = Upgrade_AmericaBattleDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining ;UpgradeCameo5 = XXX Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes ProjectileBoneFeedbackEnabledSlots = PRIMARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset DefaultConditionState Model = AVTomahawk Turret = TURRET TurretPitch = TURRETEL WeaponLaunchBone = PRIMARY WeaponA WeaponHideShowBone = PRIMARY MISSILE End ConditionState = REALLYDAMAGED Model = AVTomahawk_D End AliasConditionState = RUBBLE TrackMarks = EXTnkTrack.tga End ; ***DESIGN parameters *** DisplayName = OBJECT:Tomahawk Side = America EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) BuildCost = 1200 BuildTime = 20.0 ;in seconds VisionRange = 180 ShroudClearingRange = 200 Prerequisites Object = AmericaWarFactory Object = AmericaStrategyCenter End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience WeaponSet Conditions = None Weapon = PRIMARY TomahawkMissileWeapon End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaVehicleTomahawkCommandSet ; *** AUDIO Parameters *** VoiceSelect = TomahawkVoiceSelect VoiceMove = TomahawkVoiceMove VoiceGuard = TomahawkVoiceMove VoiceAttack = TomahawkVoiceAttack SoundMoveStart = TomahawkMoveStart SoundMoveStartDamaged = TomahawkMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = TomahawkVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoopLoud SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = TomahawkVoiceCrush VoiceEnter = TomahawkVoiceMove VoiceBombard = TomahawkVoiceAttack End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE DONT_AUTO_CRUSH_INFANTRY CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 180.0 InitialHealth = 180.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 360 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 60 ; turn rate, in degrees per sec TurretPitchRate = 60 FirePitch = 70 ; Instead of aiming pitchwise at the target, it will aim here AllowsPitch = Yes ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = No NotWhileAttacking End Locomotor = SET_NORMAL TomahawkLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_AmericaVehicleTomahawkDie FX = FINAL FX_AmericaVehicleTomahawkDeathExplosion End Behavior = ObjectCreationUpgrade ModuleTag_06 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_07 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_15 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_08 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = ExperienceScalarUpgrade ModuleTag_09 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = DestroyDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = CreateCrateDie ModuleTag SalvageData CrateData = SalvageCrateData End Behavior = FXListDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End ; Behavior = FXListDie ; DeathTypes = ALL -CRUSHED -SPLATTED ; DeathFX = FX_GenericTankDeathEffect ; End ; Behavior = CreateObjectDie ; DeathTypes = ALL -CRUSHED -SPLATTED ; CreationList = OCL_GenericTankDeathEffect ; End Behavior = EjectPilotDie ModuleTag_13 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute End Behavior = TransitionDamageFX ModuleTag_14 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ; Also known as the Ambulance Object AmericaVehicleMedic ; *** ART Parameters *** SelectPortrait = SAAmbulance_L ButtonImage = SAAmbulance UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 ConditionState = NONE Model = AVAmbulance Turret = Turret TurretPitch = TurretEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = REALLYDAMAGED Model = AVAmbulance_D Turret = Turret TurretPitch = TurretEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = RUBBLE Model = AVAmbulance_D End TrackMarks = EXTireTrack.tga OkToChangeModelColor = Yes Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:Medic Side = America EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet ;*** Fully automated and driven by the CleanupHazardUpdate *** Conditions = None Weapon = PRIMARY AmbulanceCleanHazardWeapon AutoChooseSources = PRIMARY NONE End ArmorSet Conditions = None Armor = ToxinTruckArmor DamageFX = TruckDamageFX End BuildCost = 600 BuildTime = 10.0 ;in seconds VisionRange = 100 ShroudClearingRange = 400 Prerequisites Object = AmericaWarFactory End ExperienceValue = 50 50 50 50 ;Experience point value at each level IsTrainable = No CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaVehicleAmbulanceCommandSet ; *** AUDIO Parameters *** VoiceSelect = AmbulanceVoiceSelect VoiceMove = AmbulanceVoiceMove VoiceGuard = AmbulanceVoiceMove VoiceAttack = AmbulanceVoiceDetox SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = AmbulanceVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceCrush = AmbulanceVoiceCrush VoiceEnter = AmbulanceVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = CleanupHazardUpdate ModuleTag_03 WeaponSlot = PRIMARY ScanRate = 1000 ScanRange = 100.0 ;If this range exceeds the AmbulanceCleanHazardWeapon AttackRange, it'll move! End ;Can be ordered to clean up a larger area with the ability to move around at an extended range. Behavior = CleanupAreaPower ModuleTag_04 SpecialPowerTemplate = SpecialAbilityAmbulanceCleanupArea MaxMoveDistanceFromLocation = 300.0 ;allows the unit to move around while cleaning up InitiateSound = AmbulanceVoiceDetox End Behavior = TransportAIUpdate ModuleTag_05 AutoAcquireEnemiesWhenIdle = No ;CleanupHazardUpdate handles this... Turret TurretTurnRate = 180 TurretPitchRate = 180 AllowsPitch = Yes MinPhysicalPitch = -20 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) TurretFireAngleSweep = PRIMARY 25 ControlledWeaponSlots = PRIMARY End End Locomotor = SET_NORMAL HumveeLocomotor Behavior = TransportContain ModuleTag_06 Slots = 3 HealthRegen%PerSec = 25 DamagePercentToUnits = 10% AllowInsideKindOf = INFANTRY AllowAlliesInside = Yes AllowNeutralInside = No AllowEnemiesInside = No ExitDelay = 250 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting End Behavior = PhysicsBehavior ModuleTag_07 Mass = 50.0 End Behavior = SlowDeathBehavior ModuleTag_08 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 0 FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_FinalAmbulanceDebris End Behavior = ObjectCreationUpgrade ModuleTag_09 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_10 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_19 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_11 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = DestroyDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = FXListDie ModuleTag_15 DeathTypes = ALL -CRUSHED -SPLATTED DeathFX = FX_GenericTankDeathEffect End Behavior = CreateCrateDie ModuleTag_16 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = ExperienceScalarUpgrade ModuleTag_17 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = TransitionDamageFX ModuleTag_18 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = AutoHealBehavior ModuleTag_22 HealingAmount = 4 HealingDelay = 1000 ; msec Radius = 100.0f StartsActive = Yes KindOf = INFANTRY End Behavior = AutoHealBehavior ModuleTag_23 HealingAmount = 5 HealingDelay = 1000 ; msec Radius = 100.0f StartsActive = Yes KindOf = VEHICLE ForbiddenKindOf = AIRCRAFT SkipSelfForHealing = Yes End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 12.0 ; height set to allow clear clipping of projectile streams GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ;------------------------------------------------------------------------------ Object AmericaVehicleBattleDrone ; *** ART Parameters *** SelectPortrait = SABattleDrone_L ButtonImage = SABattleDrone UpgradeCameo1 = Upgrade_AmericaDroneArmor ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE ;MAIN CHASSIS Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVBATTLEDR Animation = AVBATTLEDR.AVBATTLEDR AnimationMode = LOOP Turret = Turret01 TurretPitch = TurretEL01 WeaponMuzzleFlash = PRIMARY TurretFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = REALLYDAMAGED Model = AVBATTLEDR_D Animation = AVBATTLEDR_D.AVBATTLEDR_D AnimationMode = LOOP End End ;EXTENDING ARM (FOR REPAIRING) Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes DefaultConditionState Model = AVBATTLEDR_A End ;Unloading the arm (before starting to repair) ConditionState = UNPACKING Animation = AVBATTLEDR_A1.AVBATTLEDR_A1 AnimationMode = ONCE End ;Loading the arm (after reparing complete) ConditionState = PACKING Animation = AVBATTLEDR_A1.AVBATTLEDR_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ;Repair extending animation 1 (using bogus condition states -- doesn't justify making a whole new set) ConditionState = FIRING_B Animation = AVBATTLEDR_A2.AVBATTLEDR_A2 AnimationMode = ONCE End ;Repair retracting animation 1 (using bogus condition states -- doesn't justify making a whole new set) ConditionState = FIRING_C Animation = AVBATTLEDR_A2.AVBATTLEDR_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:BattleDrone Side = America EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY BattleDroneMachineGun End ArmorSet Conditions = None Armor = TankArmor DamageFX = SmallTankDamageFX End BuildCost = 200 BuildTime = 5.0 ;in seconds VisionRange = 150 ShroudClearingRange = 150 Prerequisites Object = AmericaWarFactory End ExperienceValue = 10 10 10 10 ;Experience point value at each level IsTrainable = No ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE NO_SELECT Body = ActiveBody ModuleTag_03 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_04 Turret TurretTurnRate = 360 // turn rate, in degrees per sec TurretPitchRate = 360 MinPhysicalPitch = -75 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) AllowsPitch = Yes ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL BattleDroneLocomotor Locomotor = SET_PANIC BattleDronePanicLocomotor ;used for repairing master (zippy) Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 KillWhenRestingOnGround = Yes AllowBouncing = No End Behavior = MaxHealthUpgrade ModuleTag_06 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 50.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = SlavedUpdate ModuleTag_07 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. AttackWanderRange = 10 ;How far I'm allowed to wander from target. ScoutRange = 75 ;How far away from master I'm allowed when master is moving. ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. RepairRange = 8 ;How far I can zip around while repair (only moves when he stops welding) RepairMinAltitude = 18.0 ;My minimum repair hover altitude. RepairMaxAltitude = 24.0 ;My maximum repair hover altitude. RepairRatePerSecond = 10.0 ;How many health points can I repair per second. RepairWhenBelowHealth% = 60 ;How low should my master's health be (in %) before I should prioritize repairing. RepairMinReadyTime = 300 RepairMaxReadyTime = 750 RepairMinWeldTime = 250 RepairMaxWeldTime = 500 RepairWeldingSys = BlueSparks RepairWeldingFXBone = Muzzle02 StayOnSameLayerAsMaster = Yes End Behavior = DestroyDie ModuleTag_08 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_09 DeathTypes = ALL CreationList = OCL_AmericaBattleDroneExplode End Behavior = TransitionDamageFX ModuleTag_10 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall End Behavior = FXListDie ModuleTag_11 DeathTypes = ALL DeathFX = FX_AmericaBattleDroneExplode End Behavior = UpgradeDie ModuleTag_12 ;This frees the object based upgrade for the producer object. DeathTypes = ALL UpgradeToRemove = Upgrade_AmericaBattleDrone ModuleTag_13 End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5 GeometryMinorRadius = 5 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaVehicleScoutDrone ; *** ART Parameters *** SelectPortrait = SAScout_L ButtonImage = SAScout UpgradeCameo1 = Upgrade_AmericaDroneArmor ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = AVScoutDr Animation = AVScoutDr.AVScoutDr AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = AVScoutDr_d Animation = AVScoutDr_d.AVScoutDr_d AnimationMode = LOOP End End ; ***DESIGN parameters *** DisplayName = OBJECT:ScoutDrone Side = America EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = TankArmor DamageFX = SmallTankDamageFX End BuildCost = 100 BuildTime = 5.0 ;in seconds VisionRange = 150 ShroudClearingRange = 500 IsTrainable = No ;Can gain experience ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE DRONE NO_SELECT Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 60 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL DroneLocomotor Behavior = StealthDetectorUpdate ModuleTag_04 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 KillWhenRestingOnGround = Yes AllowBouncing = No End Behavior = SlavedUpdate ModuleTag_06 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. AttackWanderRange = 10 ;How far I'm allowed to wander from target. ScoutRange = 75 ;How far away from master I'm allowed when master is moving. ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. DistToTargetToGrantRangeBonus = 20 ;How close I have to be to the master's target in order to grant master a range bonus. StayOnSameLayerAsMaster = Yes End Behavior = MaxHealthUpgrade ModuleTag_07 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 25.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = DestroyDie ModuleTag_08 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_09 DeathTypes = ALL CreationList = OCL_AmericaScoutDroneExplode End Behavior = FXListDie ModuleTag_10 DeathTypes = ALL DeathFX = FX_AmericaScoutDroneExplode End Behavior = TransitionDamageFX ModuleTag_11 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall End Behavior = UpgradeDie ModuleTag_12 ;This frees the object based upgrade for the producer object. DeathTypes = ALL UpgradeToRemove = Upgrade_AmericaScoutDrone ModuleTag_13 End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5.0 GeometryMinorRadius = 6.0 GeometryHeight = 3.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaVehicleHellfireDrone ; *** ART Parameters *** SelectPortrait = SAHellfire_L ButtonImage = SAHellfire UpgradeCameo1 = Upgrade_AmericaDroneArmor ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVHellDrone WeaponLaunchBone = PRIMARY WeaponA End ConditionState = REALLYDAMAGED Model = AVHellDrone_d End End ; ***DESIGN parameters *** DisplayName = OBJECT:HellfireDrone Side = America EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = TankArmor DamageFX = SmallTankDamageFX End BuildCost = 500 BuildTime = 5.0 ;in seconds VisionRange = 100 ShroudClearingRange = 500 IsTrainable = No ;Can gain experience ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound WeaponSet Conditions = NONE Weapon = PRIMARY HellfireMissileWeapon End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE NO_SELECT Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 360 // turn rate, in degrees per sec TurretPitchRate = 360 ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL HellfireDroneLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 KillWhenRestingOnGround = Yes AllowBouncing = No End Behavior = SlavedUpdate ModuleTag_06 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. AttackWanderRange = 10 ;How far I'm allowed to wander from target. ScoutRange = 75 ;How far away from master I'm allowed when master is moving. ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. StayOnSameLayerAsMaster = Yes End Behavior = MaxHealthUpgrade ModuleTag_07 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 25.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = DestroyDie ModuleTag_08 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_09 DeathTypes = ALL CreationList = OCL_AmericaScoutDroneExplode End Behavior = FXListDie ModuleTag_10 DeathTypes = ALL DeathFX = FX_AmericaScoutDroneExplode End Behavior = TransitionDamageFX ModuleTag_11 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall End Behavior = UpgradeDie ModuleTag_12 ;This frees the object based upgrade for the producer object. DeathTypes = ALL UpgradeToRemove = Upgrade_AmericaHellfireDrone ModuleTag_13 End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5.0 GeometryMinorRadius = 6.0 GeometryHeight = 3.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaVehicleSpyDrone ; *** ART Parameters *** SelectPortrait = SAScout_L ButtonImage = SAScout UpgradeCameo1 = Upgrade_AmericaDroneArmor Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = AVSpyDrone Animation = AVSpyDrone.AVSpyDrone AnimationMode = LOOP End ; Damage state waiting for pristine's approval (or may just not need one) ; ConditionState = REALLYDAMAGED ; Model = AVSpyDrone_d ; Animation = AVSpyDrone_d.AVSpyDrone_d ; AnimationMode = LOOP ; End End ; ***DESIGN parameters *** DisplayName = OBJECT:SpyDrone Side = America EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = SmallTankDamageFX End VisionRange = 250 ShroudClearingRange = 0; Dynamic range below IsTrainable = No ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SCORE DRONE SELECTABLE INERT NO_SELECT Body = ActiveBody ModuleTag_02 MaxHealth = 200.0 InitialHealth = 200.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = No End Locomotor = SET_NORMAL SpyDroneLocomtor Behavior = DynamicShroudClearingRangeUpdate ModuleTag_04 FinalVision = 250.0 ChangeInterval = 50 ShrinkDelay = 2000 ShrinkTime = 1000 GrowDelay = 0 GrowTime = 1000 GrowInterval = 10 ; Faster than most GridDecalTemplate Texture = EXGrid Style = SHADOW_ADDITIVE_DECAL OpacityMin = 50% OpacityMax = 100% OpacityThrobTime = 500 Color = R:32 G:64 B:128 A:0 //dim blue, additive End End Behavior = StealthDetectorUpdate ModuleTag_05 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = PhysicsBehavior ModuleTag_06 Mass = 50.0 End Behavior = DestroyDie ModuleTag_07 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_08 DeathTypes = ALL CreationList = OCL_AmericaScoutDroneExplode End Behavior = StealthUpdate ModuleTag_09 StealthDelay = 0 ; msec StealthForbiddenConditions = NONE InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = MaxHealthUpgrade ModuleTag_10 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 50.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5.0 GeometryMinorRadius = 6.0 GeometryHeight = 3.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaTankCrusader ; *** ART Parameters *** SelectPortrait = SACLeopard_L ButtonImage = SACLeopard UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining UpgradeCameo5 = Upgrade_AmericaCompositeArmor Draw = W3DTankDraw ModuleTag_01 DefaultConditionState Model = AVCrusader_A Turret = Turret WeaponFireFXBone = PRIMARY TurretMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY TurretFX WeaponLaunchBone = PRIMARY TurretMS End ConditionState = REALLYDAMAGED Model = AVcrusader_d End ConditionState = RUBBLE Model = AVcrusader_d1 End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Crusader Side = America EditorSorting = VEHICLE TransportSlotCount = 3 WeaponSet Conditions = None Weapon = PRIMARY CrusaderTankGun ; Uncomment this when we want the crusader to have a machine too again ;Weapon = SECONDARY CrusaderMachineGun End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End ;ArmorSet ; Conditions = PLAYER_UPGRADE ; Armor = UpgradedTankArmor ; DamageFX = TankDamageFX ;End BuildCost = 900 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = AmericaWarFactory End ExperienceValue = 100 100 200 400 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaTankCrusaderCommandSet ; *** AUDIO Parameters *** VoiceSelect = CrusaderTankVoiceSelect VoiceMove = CrusaderTankVoiceMove VoiceGuard = CrusaderTankVoiceMove VoiceAttack = CrusaderTankVoiceAttack SoundMoveStart = CrusaderTankMoveStart SoundMoveStartDamaged = CrusaderTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = CrusaderTankVoiceCreate VoiceEnter = CrusaderTankVoiceMove TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = CrusaderTankVoiceCrush End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 480 InitialHealth = 480 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 960 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 180 ;60 // turn rate, in degrees per sec ControlledWeaponSlots= PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL CrusaderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = ObjectCreationUpgrade ModuleTag_05 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_06 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_20 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_07 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = ExperienceScalarUpgrade ModuleTag_08 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = MaxHealthUpgrade ModuleTag_09 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End ; Turret fly off death Behavior = SlowDeathBehavior ModuleTag_10 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_GenericTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_CrusaderTurret End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_11 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_GenericTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion End Behavior = TransitionDamageFX ModuleTag_12 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = DestroyDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_15 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = EjectPilotDie ModuleTag_17 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = MaxHealthUpgrade ModuleTag_18 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;USA Construction Dozer or USDozer Object AmericaVehicleDozer ; *** ART Parameters *** SelectPortrait = SACDozer_L ButtonImage = SACDozer ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVCONSTDOZ_A ParticleSysBone = EXHAUSTFX01 DozerSmokeLight WaitForStateToFinishIfPossible = TRANS_DIGGING End ConditionState = PREATTACK_A Animation = AVCONSTDOZ_A.AVCONSTDOZ_A AnimationMode = ONCE ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy ParticleSysBone = DIRTFX01 DozerDirtFall ;gush of dirt TransitionKey = TRANS_DIGGING End ConditionState = MOVING ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy WaitForStateToFinishIfPossible = TRANS_DIGGING End ConditionState = REALLYDAMAGED RUBBLE Model = AVCONSTDOZ_AD ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED End ConditionState = PREATTACK_A REALLYDAMAGED RUBBLE Model = AVCONSTDOZ_AD Animation = AVCONSTDOZ_AD.AVCONSTDOZ_AD AnimationMode = ONCE ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy TransitionKey = TRANS_DIGGING_DAMAGED End ConditionState = MOVING REALLYDAMAGED RUBBLE Model = AVCONSTDOZ_AD ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED End TrackMarks = EXTireTrack2.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = TIRE01 RightFrontTireBone = TIRE02 LeftRearTireBone = TIRE03 RightRearTireBone = TIRE04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Dozer Side = America EditorSorting = VEHICLE TransportSlotCount = 5 ;how many "slots" we take in a transport (0 == not transportable) BuildCost = 1000 BuildTime = 5.0 ; in seconds VisionRange = 200 ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY None End WeaponSet Conditions = MINE_CLEARING_DETAIL Weapon = PRIMARY DozerMineDisarmingWeapon End ArmorSet Conditions = None Armor = DozerArmor ;Special Explosion-Proof Armor DamageFX = TankDamageFX End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaDozerCommandSet ; *** AUDIO Parameters *** VoiceSelect = DozerUSAVoiceSelect VoiceMove = DozerUSAVoiceMove VoiceGuard = DozerUSAVoiceMove VoiceTaskComplete = DozerUSAVoiceBuildComplete SoundMoveStart = DozerUSAMoveStart SoundMoveStartDamaged = DozerUSAMoveStart UnitSpecificSounds VoiceCreate = DozerUSAVoiceCreate VoiceNoBuild = DozerUSAVoiceBuildNot VoiceCrush = DozerUSAVoiceCrush VoiceRepair = DozerUSAVoiceRepair VoiceDisarm = DozerUSAVoiceClearMine TruckLandingSound = NoSound TruckPowerslideSound = NoSound VoiceEnter = DozerUSAVoiceMove VoiceBuildResponse = DozerUSAVoiceBuild End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DOZER Body = ActiveBody ModuleTag_02 MaxHealth = 250.0 InitialHealth = 250.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 500 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = DozerAIUpdate ModuleTag_03 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second BoredTime = 5000 ; in milliseconds BoredRange = 150 ; when bored, we look this far away to do something ; the only "enemies" that workers can acquire are mines, to be disarmed... AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL AmericaVehicleDozerLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 75.0 End Behavior = StealthDetectorUpdate ModuleTag_05 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. ExtraRequiredKindOf = MINE ; we can only detect MINES, not other stealthed things End Behavior = TransitionDamageFX ModuleTag_06 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_07 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 100 DestructionDelay = 1500 DestructionDelayVariance = 600 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_AmericaDozerExplode FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_22 ;;;;;;;; End Behavior = FXListDie ModuleTag_23 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = DestroyDie ModuleTag_24 DeathTypes = NONE +CRUSHED +SPLATTED End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 15.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaTankPaladin ; *** ART Parameters *** SelectPortrait = SAPaladin_L ButtonImage = SAPaladin UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining UpgradeCameo5 = Upgrade_AmericaCompositeArmor Draw = W3DTankDraw ModuleTag_01 ExtraPublicBone = Laser ConditionState = NONE Model = AVPaladin Turret = Turret01 WeaponFireFXBone = PRIMARY TurretMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY TurretFX WeaponLaunchBone = PRIMARY TurretMS End ConditionState = REALLYDAMAGED Model = AVPaladin_D Turret = Turret01 WeaponFireFXBone = PRIMARY TurretMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY TurretFX WeaponLaunchBone = PRIMARY TurretMS End ConditionState = RUBBLE Model = AVPaladin_D Turret = Turret01 WeaponFireFXBone = PRIMARY TurretMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY TurretFX WeaponLaunchBone = PRIMARY TurretMS End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Paladin Side = America EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY PaladinTankGun End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End ;ArmorSet ; Conditions = PLAYER_UPGRADE ; Armor = UpgradedTankArmor ; DamageFX = TankDamageFX ;End BuildCost = 1100 BuildTime = 12.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = AmericaWarFactory Science = SCIENCE_PaladinTank End ExperienceValue = 100 100 200 400 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaTankPaladinCommandSet ; *** AUDIO Parameters *** VoiceSelect = PaladinTankVoiceSelect VoiceMove = PaladinTankVoiceMove VoiceGuard = PaladinTankVoiceMove VoiceAttack = PaladinTankVoiceAttack SoundMoveStart = PaladinTankMoveStart SoundMoveStartDamaged = PaladinTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = PaladinTankVoiceCreate TurretMoveLoop = TurretMoveLoop SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = PaladinTankVoiceCrush VoiceEnter = PaladinTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 500.0 InitialHealth = 500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 180 ;60 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End ;AltTurret ; TurretTurnRate = 9000; ; ControlledWeaponSlots = SECONDARY ;End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL CrusaderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End ; Turret fly off death Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 ; ModifierBonusPerOverkillPercent = 30% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_PaladinTankDeathEffect End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_06 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_PaladinTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion End Behavior = PointDefenseLaserUpdate ModuleTag_07 WeaponTemplate = PaladinPointDefenseLaser PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE SecondaryTargetTypes = INFANTRY ScanRate = 500 ScanRange = 120.0 PredictTargetVelocityFactor = 3.0 End Behavior = ObjectCreationUpgrade ModuleTag_08 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_09 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_19 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Upgrade_AmericaHallfireDrone Behavior = ProductionUpdate ModuleTag_10 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = ExperienceScalarUpgrade ModuleTag_11 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = TransitionDamageFX ModuleTag_12 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = DestroyDie ModuleTag_15 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = CreateCrateDie ModuleTag_16 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = EjectPilotDie ModuleTag_17 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = MaxHealthUpgrade ModuleTag_18 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;Sentry Drone Object AmericaVehicleSentryDrone ; *** ART Parameters *** SelectPortrait = SAsentry_L ButtonImage = SAsentry UpgradeCameo1 = Upgrade_AmericaSentryDroneGun UpgradeCameo2 = Upgrade_AmericaDroneArmor ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 InitialRecoilSpeed = 10 MaxRecoilDistance = 1.5 RecoilSettleSpeed = 3 OkToChangeModelColor = Yes DefaultConditionState Model = AVSENTRY Animation = AVSENTRY.AVSENTRY AnimationMode = LOOP Turret = TURRET01 HideSubObject = TURRETUP09 ;Hide controlled turret WeaponFireFXBone = PRIMARY TurretFX WeaponMuzzleFlash = PRIMARY TurretFX WeaponRecoilBone = PRIMARY TurretUp End ConditionState = REALLYDAMAGED Turret = TURRET01 Model = AVSENTRY_D Animation = AVSENTRY_D.AVSENTRY_D AnimationMode = LOOP HideSubObject = TURRETUP09 ;Hide controlled turret End ConditionState = RUBBLE Model = AVSENTRY_D1 HideSubObject = TURRETUP09 ;Hide controlled turret End AliasConditionState = RUBBLE WEAPONSET_PLAYER_UPGRADE ConditionState = WEAPONSET_PLAYER_UPGRADE Model = AVSENTRY Animation = AVSENTRY.AVSENTRY AnimationMode = LOOP ShowSubObject = TURRETUP09 End ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = AVSENTRY_D Animation = AVSENTRY_D.AVSENTRY_D AnimationMode = LOOP ShowSubObject = TURRETUP09 End TrackMarks = EXTnkTrack.tga TreadDebrisLeft = SentryDroneTrackDebrisDirtLeft TreadDebrisRight = SentryDroneTrackDebrisDirtRight TreadAnimationRate = 4.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:SentryDrone Side = America EditorSorting = VEHICLE TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY None End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY SentryDroneGun End ArmorSet Conditions = None Armor = SentryDroneArmor DamageFX = TruckDamageFX End BuildCost = 800 BuildTime = 10.0 ;in seconds VisionRange = 200 ShroudClearingRange = 350 Prerequisites Object = AmericaWarFactory End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = No ;Can gain experience CrusherLevel = 0 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaVehicleSentryDroneCommandSet ; *** AUDIO Parameters *** VoiceSelect = SentryDroneVoiceSelect VoiceMove = SentryDroneVoiceMove VoiceGuard = SentryDroneVoiceMove VoiceAttack = SentryDroneVoiceMove SoundMoveStart = SentryDroneMoveStart SoundMoveStartDamaged = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = NoSound TurretMoveStart = NoSound TurretMoveLoop = NoSound VoiceEnter = NoSound Deploy = NoSound Undeploy = NoSound End Behavior = WeaponSetUpgrade ModuleTag_03 TriggeredBy = Upgrade_AmericaSentryDroneGun End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE ATTACK_NEEDS_LINE_OF_SIGHT DRONE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = MaxHealthUpgrade ModuleTag_99 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 75.0 ChangeType = ADD_CURRENT_HEALTH_TOO End Behavior = DeployStyleAIUpdate ModuleTag_04 Turret TurretTurnRate = 180 TurretPitchRate = 180 FirePitch = 0 ; Instead of aiming pitchwise at the target, it will aim here AllowsPitch = No RecenterTime = 1000 ; how long to wait during idle before recentering ControlledWeaponSlots = PRIMARY NaturalTurretAngle = 0 InitiallyDisabled = No MinIdleScanInterval = 250 ; in milliseconds MaxIdleScanInterval = 250 ; in milliseconds MinIdleScanAngle = 0 ; in degrees off the natural turret angle MaxIdleScanAngle = 360 ; in degrees off the natural turret angle End AutoAcquireEnemiesWhenIdle = Yes ;Stealthed ; Means "Yes when idle, even if I am stealthed" PackTime = 1000 UnpackTime = 1000 TurretsFunctionOnlyWhenDeployed = Yes TurretsMustCenterBeforePacking = Yes End Locomotor = SET_NORMAL SentryLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 End Behavior = StealthUpdate ModuleTag_06 StealthDelay = 2000 ; msec StealthForbiddenConditions = FIRING_PRIMARY MOVING HintDetectableConditions = IS_FIRING_WEAPON FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = SlowDeathBehavior ModuleTag_07 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_AmericaVehicleSentryDroneDie FX = FINAL FX_AmericaVehicleTomahawkDeathExplosion End Behavior = DestroyDie ModuleTag_08 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_10 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_11 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = StealthDetectorUpdate ModuleTag_12 DetectionRate = 900 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 225 ;Dustin, enable this for independant balancing! End Geometry = BOX GeometryMajorRadius = 9.0 GeometryMinorRadius = 7.0 GeometryHeight = 11.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaTankAvengerLaserTurret ; Seperate turret object so it can attack independantly ; *** ART Parameters *** SelectPortrait = SNPropSpeaker_L ButtonImage = SNPropSpeaker UpgradeCameo1 = Upgrade_Nationalism UpgradeCameo2 = Upgrade_ChinaUraniumShells UpgradeCameo3 = Upgrade_ChinaNuclearTanks ;UpgradeCameo4 = NONE UpgradeCameo5 = Upgrade_ChinaOverlordPropagandaTower Draw = W3DDependencyModelDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = TurretFX01 ExtraPublicBone = TurretFX02 ExtraPublicBone = TURRET01 ExtraPublicBone = TURRETEL ExtraPublicBone = TURRETEL01 AttachToBoneInContainer = FIREPOINT01 DefaultConditionState Model = AVAVNGER_G Turret = TURRET01 TurretPitch = TURRETEL01 End ConditionState = REALLYDAMAGED Model = AVAVNGER_GD Turret = TURRET01 TurretPitch = TURRETEL01 End End PlacementViewAngle = -45 ; ***DESIGN parameters *** Side = America EditorSorting = SYSTEM TransportSlotCount = 1 WeaponSet Conditions = None Weapon = PRIMARY AvengerAirLaserOne Weapon = SECONDARY AvengerAirLaserTwo End ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Avenger with his damage module End VisionRange = 200 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY SECONDARY TurretTurnRate = 180 // turn rate, in degrees per sec TurretPitchRate = 180 AllowsPitch = Yes NaturalTurretPitch = 45 End AutoAcquireEnemiesWhenIdle = Yes MoodAttackCheckRate = 500 ; default is 2000 End Behavior = DestroyDie ModuleTag_05 ; End Geometry = BOX GeometryMajorRadius = 6.0 GeometryMinorRadius = 6.0 GeometryHeight = 10.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaTankAvenger ; *** ART Parameters *** SelectPortrait = SAAvnger_L ButtonImage = SAAvnger UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining ;UpgradeCameo5 = Upgrade_AmericaCompositeArmor Draw = W3DOverlordTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = TurretFX03 ExtraPublicBone = LazerSpot01 ExtraPublicBone = LazerSpot02 DefaultConditionState Model = AVAVNGER HideSubObject = TURRET01 ;Hide controlled turret End ConditionState = REALLYDAMAGED Model = AVAVNGER_D HideSubObject = TURRET01 ;Hide controlled turret End ConditionState = RUBBLE Model = AVAVNGER_D1 End ;When a bombtruck disguises as an avenger, show the turret! ConditionState = DISGUISED Model = AVAVNGER ShowSubObject = TURRET01 End ConditionState = REALLYDAMAGED DISGUISED Model = AVAVNGER_D ShowSubObject = TURRET01 ;Hide controlled turret End TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0.0 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:Avenger Side = America EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY AvengerTargetDesignator Weapon = SECONDARY AvengerAirLaserDummy End ArmorSet Conditions = None Armor = AvengerArmor DamageFX = TankDamageFX End BuildCost = 2000 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = AmericaWarFactory ; Object = AmericaStrategyCenter End ExperienceValue = 100 100 200 400 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaTankAvengerCommandSet ; *** AUDIO Parameters *** VoiceSelect = AvengerVoiceSelect VoiceMove = AvengerVoiceMove VoiceGuard = AvengerVoiceMove VoiceAttack = AvengerVoicePaint VoiceAttackAir = AvengerVoiceAttack SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = AvengerVoiceCreate TurretMoveLoop = NoSound SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = NoSound VoiceEnter = AvengerVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL AvengerLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End ; Turret fly off death Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 ; ModifierBonusPerOverkillPercent = 30% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_AvengerTankDeathEffect End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_06 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_AvengerTankDeathEffect End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One WeaponTemplate = AvengerPointDefenseLaserOne PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 0 ScanRange = 200.0 PredictTargetVelocityFactor = 1.0 End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_Two WeaponTemplate = AvengerPointDefenseLaserTwo PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 100 ScanRange = 200.0 PredictTargetVelocityFactor = 1.0 End Behavior = OverlordContain ModuleTag_OverlordContain Slots = 1 DamagePercentToUnits = 100% AllowInsideKindOf = PORTABLE_STRUCTURE PassengersAllowedToFire = Yes PayloadTemplateName = AmericaTankAvengerLaserTurret ExperienceSinkForRider = Yes ; I get the Exp for things my turret friend kills End Behavior = ObjectCreationUpgrade ModuleTag_08 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_09 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_19 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_10 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = ExperienceScalarUpgrade ModuleTag_11 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = TransitionDamageFX ModuleTag_12 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = DestroyDie ModuleTag_15 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = CreateCrateDie ModuleTag_16 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = EjectPilotDie ModuleTag_17 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = FlammableUpdate ModuleTag_22 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object AmericaTankMicrowave ; *** ART Parameters *** SelectPortrait = SAThunderBolt_L ButtonImage = SAThunderBolt UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining UpgradeCameo5 = Upgrade_AmericaCompositeArmor Draw = W3DTankDraw ModuleTag_01 ExtraPublicBone = WEAPON02 OkToChangeModelColor = Yes ConditionState = NONE Model = AVTHUNDRBLT ParticleSysBone = PROJECTORGLOW09 MicrowaveLenzflare ParticleSysBone = NONE MicrowaveRotisserie End ConditionState = USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C Model = AVTHUNDRBLT End ConditionState = REALLYDAMAGED RUBBLE Model = AVTHUNDRBLT_D ParticleSysBone = PROJECTORGLOW09 MicrowaveLenzflare ParticleSysBone = NONE MicrowaveRotisserie End ConditionState = REALLYDAMAGED RUBBLE USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C Model = AVTHUNDRBLT_D End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 4.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:Microwave Side = America EditorSorting = VEHICLE TransportSlotCount = 3 ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End WeaponSet Conditions = None ; Weapon = PRIMARY MicrowaveTankVehicleDisabler Weapon = PRIMARY MicrowaveTankBuildingDisabler ;SECONDARY MicrowaveTankBuildingDisabler Weapon = SECONDARY MicrowaveTankBuildingClearer ;TERTIARY MicrowaveTankBuildingClearer End BuildCost = 800 BuildTime = 10.0 ;in seconds VisionRange = 200 ShroudClearingRange = 300 Prerequisites Object = AmericaWarFactory Object = AmericaStrategyCenter End ExperienceValue = 100 100 200 400 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaTankMicrowaveCommandSet ; *** AUDIO Parameters *** VoiceSelect = MicrowaveTankVoiceSelect VoiceMove = MicrowaveTankVoiceMove VoiceGuard = MicrowaveTankVoiceMove VoiceAttack = MicrowaveTankVoiceAttack SoundMoveStart = MicrowaveTankMoveStart SoundMoveStartDamaged = MicrowaveTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = MicrowaveTankVoiceCreate VoiceEnter = MicrowaveTankVoiceMove SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = MicrowaveTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 480 InitialHealth = 480 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 960 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL CrusaderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End ; Turret fly off death Behavior = SlowDeathBehavior ModuleTag_10 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_MicrowaveTankDeath FX = FINAL FX_GenericTankDeathExplosion End Behavior = TransitionDamageFX ModuleTag_12 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = DestroyDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_15 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_MicrowaveTankDeath_CrushEffect End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = EjectPilotDie ModuleTag_17 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = MaxHealthUpgrade ModuleTag_18 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = ExperienceScalarUpgrade ModuleTag_Upgrade01 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = ObjectCreationUpgrade ModuleTag_Upgrade02 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_Upgrade03 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_Upgrade04 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_Prod01 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = FireWeaponUpdate ModuleTag_22 Weapon = MicrowaveTankEmitterWeapon ExclusiveWeaponDelay = 1000 ; If we fire a real weapon, we turn this module off for this long End Behavior = CommandButtonHuntUpdate ModuleTag_24 ; allows use of command button hunt script with this unit. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End Object Chem_GLAHole ; *** ART Parameters *** SelectPortrait = SUHole_L ButtonImage = SUHole_L Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End ; ----------------- the door ------------------- Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes DefaultConditionState Model = UBHole_A1 Animation = UBHole_A1.UBHole_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End ConditionState = DAMAGED Model = UBHole_A1D Animation = UBHole_A1D.UBHole_A1D AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING Model = UBHole_A1 Animation = UBHole_A1.UBHole_A1 AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING DAMAGED Model = UBHole_A1D Animation = UBHole_A1D.UBHole_A1D AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_CLOSING Model = UBHole_A1 Animation = UBHole_A1.UBHole_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_CLOSING DAMAGED Model = UBHole_A1D Animation = UBHole_A1D.UBHole_A1D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN Model = UBHole_A1 Animation = UBHole_A1.UBHole_A1 AnimationMode = MANUAL Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = UBHole_A1D Animation = UBHole_A1D.UBHole_A1D AnimationMode = MANUAL Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:GLAHole Side = GLAToxinGeneral EditorSorting = SYSTEM Prerequisites Object = Chem_GLACommandCenter End BuildCost = 100 BuildTime = 10.0 ; in seconds EnergyProduction = 0 VisionRange = 50.0 ; Shroud clearing distance ShroudClearingRange = 50 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ; *** AUDIO Parameters *** VoiceSelect = TunnelNetworkSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE REBUILD_HOLE CAN_SEE_THROUGH_STRUCTURE IMMUNE_TO_CAPTURE SCORE_DESTROY MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_03 ; To set the health for a particular hole, edit the entry in the object ; that will leave the hole behind (edit the RebuildHoleExposeDie entry) MaxHealth = 9999999.9 ;bigger than anything realistic we use InitialHealth = 9999999.9 ;bigger than anything realistic we use End Behavior = RebuildHoleBehavior ModuleTag_04 WorkerObjectName = GLAInfantryWorker WorkerRespawnDelay = 20000 ;in milliseconds HoleHealthRegen%PerSecond = 0.5% ;regen this % of HoleMaxHealth per second End Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_14 DeathFX = FX_StructureSmallDeath End Geometry = CYLINDER GeometryMajorRadius = 25.0 GeometryHeight = 5.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;GLA Command Center Object Chem_GLACommandCenter ; *** ART Parameters *** SelectPortrait = SUHeadquarters_L ButtonImage = SUHeadquarters UpgradeCameo1 = Upgrade_GLAFortifiedStructure ; ----- The actual command center Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBCmdCG ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdCG.UBCmdCG AnimationMode = LOOP End ConditionState = DAMAGED Model = UBCmdHQC_D Animation = UBCmdHQC_D.UBCmdHQC_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBCmdHQC_E Animation = UBCmdHQC_E.UBCmdHQC_E AnimationMode = LOOP End ConditionState = GARRISONED Model = UBCmdHQCE ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE.UBCmdHQCE AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBCmdHQCE_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_D.UBCmdHQCE_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBCmdHQCE_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_E.UBCmdHQCE_E AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBCmdHQC_N ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC_N.UBCmdHQC_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBCmdHQC_DN Animation = UBCmdHQC_DN.UBCmdHQC_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBCmdHQC_EN Animation = UBCmdHQC_EN.UBCmdHQC_EN AnimationMode = LOOP End ConditionState = GARRISONED NIGHT Model = UBCmdHQCE_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_N.UBCmdHQCE_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBCmdHQCE_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_DN.UBCmdHQCE_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBCmdHQCE_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_EN.UBCmdHQCE_EN AnimationMode = LOOP End ; day snow ConditionState = SNOW Model = UBCmdHQC_S ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC_S.UBCmdHQC_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBCmdHQC_DS Animation = UBCmdHQC_DS.UBCmdHQC_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBCmdHQC_ES Animation = UBCmdHQC_ES.UBCmdHQC_ES AnimationMode = LOOP End ConditionState = GARRISONED SNOW Model = UBCmdHQCE_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_S.UBCmdHQCE_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBCmdHQCE_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_DS.UBCmdHQCE_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBCmdHQCE_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_ES.UBCmdHQCE_ES AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBCmdHQC_NS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC_NS.UBCmdHQC_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = UBCmdHQC_DNS Animation = UBCmdHQC_DNS.UBCmdHQC_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBCmdHQC_ENS Animation = UBCmdHQC_ENS.UBCmdHQC_ENS AnimationMode = LOOP End ConditionState = GARRISONED NIGHT SNOW Model = UBCmdHQCE_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_NS.UBCmdHQCE_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQCE_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_DNS.UBCmdHQCE_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQCE_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_ENS.UBCmdHQCE_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQC Animation = UBCmdHQC.UBCmdHQC AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBCmdHQC_D Animation = UBCmdHQC_D.UBCmdHQC_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBCmdHQC_E Animation = UBCmdHQC_E.UBCmdHQC_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBCmdHQC_N Animation = UBCmdHQC_N.UBCmdHQC_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBCmdHQC_DN Animation = UBCmdHQC_DN.UBCmdHQC_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBCmdHQC_EN Animation = UBCmdHQC_EN.UBCmdHQC_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBCmdHQC_S Animation = UBCmdHQC_S.UBCmdHQC_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBCmdHQC_DS Animation = UBCmdHQC_DS.UBCmdHQC_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBCmdHQC_ES Animation = UBCmdHQC_ES.UBCmdHQC_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBCmdHQC_NS Animation = UBCmdHQC_NS.UBCmdHQC_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBCmdHQC_DNS Animation = UBCmdHQC_DNS.UBCmdHQC_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBCmdHQC_ENS Animation = UBCmdHQC_ENS.UBCmdHQC_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -135 ; ------------ construction done flashing lights ---------- ; Draw = W3DModelDraw ; DefaultConditionState ; Model = None ; End ; ConditionState = SOLD ; Model = NONE ; End ; ConditionState = CONSTRUCTION_COMPLETE ; Model = ABWarFact_A2 ; Animation = ABWarFact_A2.ABWarFact_A2 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ; End ; End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; Officers club flag Draw = W3DModelDraw ModuleTag_OfficersClub OkToChangeModelColor = No ConditionState = NONE Model = None End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE ConditionState = PREORDER Model = OCFlagGLA Animation = OCFlagGLA.OCFlagGLA AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ; ConditionState = PREORDER DAMAGED ; Model = OCFlagGLA_D ; Animation = OCFlagGLA_D.OCFlagGLA_D ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End ; ConditionState = PREORDER REALLYDAMAGED RUBBLE ; Model = OCFlagGLA_E ; Animation = OCFlagGLA_E.OCFlagGLA_E ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End End ; ***DESIGN parameters *** DisplayName = OBJECT:CommandCenter Side = GLAToxinGeneral EditorSorting = STRUCTURE BuildCost = 2000 BuildTime = 45.0 ; in seconds EnergyProduction = 0 ;Command center should be free CommandSet = Chem_GLACommandCenterCommandSet VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 300 ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = CommandCenterGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE COMMANDCENTER CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE Body = StructureBody ModuleTag_04 MaxHealth = 5000.0 InitialHealth = 5000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 5200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = PreorderCreate ModuleTag_PreorderCreate End Behavior = ProductionUpdate ModuleTag_05 ; nothing End Behavior = DefaultProductionExitUpdate ModuleTag_06 UnitCreatePoint = X: 25.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 65.0 Y: 0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RebuildHoleExposeDie ModuleTag_07 HoleName = GLAHoleCommandCenter HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_08 ;nothing End Behavior = CreateObjectDie ModuleTag_09 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = OCLSpecialPower ModuleTag_11 SpecialPowerTemplate = SuperweaponRebelAmbush UpgradeOCL = SCIENCE_RebelAmbush3 Chem_SUPERWEAPON_RebelAmbush3 UpgradeOCL = SCIENCE_RebelAmbush2 Chem_SUPERWEAPON_RebelAmbush2 OCL = Chem_SUPERWEAPON_RebelAmbush1 CreateLocation = CREATE_AT_LOCATION OCLAdjustPositionToPassable = Yes ;Like RA2, shift target to passable cell so we don't land in water and on cliffs. End Behavior = OCLSpecialPower ModuleTag_12 SpecialPowerTemplate = SuperweaponBlackMarketNuke OCL = SUPERWEAPON_BlackMarketNuke CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_13 SpecialPowerTemplate = SuperweaponAnthraxBomb OCL = SUPERWEAPON_AnthraxBombGamma CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_14 SpecialPowerTemplate = SuperweaponEmergencyRepair UpgradeOCL = SCIENCE_EmergencyRepair3 SUPERWEAPON_RepairVehicles3 UpgradeOCL = SCIENCE_EmergencyRepair2 SUPERWEAPON_RepairVehicles2 OCL = SUPERWEAPON_RepairVehicles1 CreateLocation = CREATE_AT_LOCATION End Behavior = OCLSpecialPower ModuleTag_21 SpecialPowerTemplate = SuperweaponSneakAttack OCL = OCL_CreateSneakAttackTunnelStart CreateLocation = CREATE_AT_LOCATION ReferenceObject = GLASneakAttackTunnelNetwork ;So we know what the final product is for script placement calculations End Behavior = OCLSpecialPower ModuleTag_22 SpecialPowerTemplate = SuperweaponGPSScrambler OCL = SUPERWEAPON_GPSScrambler CreateLocation = CREATE_AT_LOCATION End Behavior = CashBountyPower ModuleTag_15 SpecialPowerTemplate = SpecialAbilityCashBounty1 Bounty = 5% End Behavior = CashBountyPower ModuleTag_16 SpecialPowerTemplate = SpecialAbilityCashBounty2 Bounty = 10% End Behavior = CashBountyPower ModuleTag_17 SpecialPowerTemplate = SpecialAbilityCashBounty3 Bounty = 20% End Behavior = FlammableUpdate ModuleTag_19 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_20 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End ;Toxin General gets these for free. Behavior = GrantUpgradeCreate ModuleTag_23 UpgradeToGrant = Upgrade_GLAToxinShells End Behavior = GrantUpgradeCreate ModuleTag_24 UpgradeToGrant = Upgrade_GLAAnthraxBeta End Geometry = BOX GeometryMajorRadius = 65.0 GeometryMinorRadius = 65.0 GeometryHeight = 54.0 FactoryExitWidth = 25 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Chem_GLAHoleCommandCenter Chem_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED RUBBLE Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBCmdHQ_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke End ConditionState = DAMAGED REALLYDAMAGED RUBBLE Model = UBCmdHQ_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke End End End ;------------------------------------------------------------------------------ ;Fake GLA Command Center Object Chem_FakeGLACommandCenter ; *** ART Parameters *** SelectPortrait = SUHeadquarters_L ButtonImage = SUHeadquarters UpgradeCameo1 = Upgrade_GLAFortifiedStructure ; ----- The actual command center Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBCmdHQC ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC.UBCmdHQC AnimationMode = LOOP End ConditionState = DAMAGED Model = UBCmdHQC_D Animation = UBCmdHQC_D.UBCmdHQC_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBCmdHQC_E Animation = UBCmdHQC_E.UBCmdHQC_E AnimationMode = LOOP End ConditionState = GARRISONED Model = UBCmdHQEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG.UBCmdHQEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBCmdHQEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_D.UBCmdHQEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBCmdHQEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_E.UBCmdHQEG_E AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBCmdHQC_N ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC_N.UBCmdHQC_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBCmdHQC_DN Animation = UBCmdHQC_DN.UBCmdHQC_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBCmdHQC_EN Animation = UBCmdHQC_EN.UBCmdHQC_EN AnimationMode = LOOP End ConditionState = GARRISONED NIGHT Model = UBCmdHQEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_N.UBCmdHQEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBCmdHQEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_DN.UBCmdHQEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBCmdHQEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_EN.UBCmdHQEG_EN AnimationMode = LOOP End ; day snow ConditionState = SNOW Model = UBCmdHQC_S ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC_S.UBCmdHQC_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBCmdHQC_DS Animation = UBCmdHQC_DS.UBCmdHQC_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBCmdHQC_ES Animation = UBCmdHQC_ES.UBCmdHQC_ES AnimationMode = LOOP End ConditionState = GARRISONED SNOW Model = UBCmdHQEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_S.UBCmdHQEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBCmdHQEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_DS.UBCmdHQEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBCmdHQEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_ES.UBCmdHQEG_ES AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBCmdHQC_NS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC_NS.UBCmdHQC_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = UBCmdHQC_DNS Animation = UBCmdHQC_DNS.UBCmdHQC_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBCmdHQC_ENS Animation = UBCmdHQC_ENS.UBCmdHQC_ENS AnimationMode = LOOP End ConditionState = GARRISONED NIGHT SNOW Model = UBCmdHQEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_NS.UBCmdHQEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_DNS.UBCmdHQEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_ENS.UBCmdHQEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQC Animation = UBCmdHQC.UBCmdHQC AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBCmdHQC_D Animation = UBCmdHQC_D.UBCmdHQC_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBCmdHQC_E Animation = UBCmdHQC_E.UBCmdHQC_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBCmdHQC_N Animation = UBCmdHQC_N.UBCmdHQC_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBCmdHQC_DN Animation = UBCmdHQC_DN.UBCmdHQC_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBCmdHQC_EN Animation = UBCmdHQC_EN.UBCmdHQC_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBCmdHQC_S Animation = UBCmdHQC_S.UBCmdHQC_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBCmdHQC_DS Animation = UBCmdHQC_DS.UBCmdHQC_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBCmdHQC_ES Animation = UBCmdHQC_ES.UBCmdHQC_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBCmdHQC_NS Animation = UBCmdHQC_NS.UBCmdHQC_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBCmdHQC_DNS Animation = UBCmdHQC_DNS.UBCmdHQC_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBCmdHQC_ENS Animation = UBCmdHQC_ENS.UBCmdHQC_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -135 ; ------------ construction done flashing lights ---------- ; Draw = W3DModelDraw ; DefaultConditionState ; Model = None ; End ; ConditionState = SOLD ; Model = NONE ; End ; ConditionState = CONSTRUCTION_COMPLETE ; Model = ABWarFact_A2 ; Animation = ABWarFact_A2.ABWarFact_A2 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ; End ; End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; Officers club flag Draw = W3DModelDraw ModuleTag_OfficersClub OkToChangeModelColor = No ConditionState = NONE Model = None End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE ConditionState = PREORDER Model = OCFlagGLA Animation = OCFlagGLA.OCFlagGLA AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ; ConditionState = PREORDER DAMAGED ; Model = OCFlagGLA_D ; Animation = OCFlagGLA_D.OCFlagGLA_D ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End ; ConditionState = PREORDER REALLYDAMAGED RUBBLE ; Model = OCFlagGLA_E ; Animation = OCFlagGLA_E.OCFlagGLA_E ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End End ; ***DESIGN parameters *** DisplayName = OBJECT:CommandCenter Side = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_GLACommandCenter End BuildCost = 500 BuildTime = 30.0 ; in seconds EnergyProduction = 0 ;Command center should be free CommandSet = FakeGLACommandCenterCommandSet VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 300 WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 50 50 50 50 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = CommandCenterGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE Body = StructureBody ModuleTag_04 MaxHealth = 1250.0 InitialHealth = 1250.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1450 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = PreorderCreate ModuleTag_PreorderCreate End Behavior = ProductionUpdate ModuleTag_05 ; nothing End Behavior = AIUpdateInterface ModuleTag_06 AutoAcquireEnemiesWhenIdle = No End Behavior = CreateObjectDie ModuleTag_09 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = SlowDeathBehavior ModuleTag_11 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 0 Weapon = FINAL FakeStructureDetonationWeapon End Behavior = DestroyDie ModuleTag_SlowDeathException RequiredStatus = UNDER_CONSTRUCTION End Behavior = ReplaceObjectUpgrade ModuleTag_12 ReplaceObject = Chem_GLACommandCenter TriggeredBy = Upgrade_BecomeRealGLACommandCenter End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = FlammableUpdate ModuleTag_13 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_14 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 65.0 GeometryMinorRadius = 65.0 GeometryHeight = 54.0 FactoryExitWidth = 25 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure. ShadowSizeX = 165 ShadowSizeY = 145 BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Chem_GLABlackMarket ; *** ART Parameters *** SelectPortrait = SUBlackMarket_L ButtonImage = SUBlackMarket UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBBlackMkt Animation = UBBlackMkt.UBBlackMkt AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED Model = UBBlackMkt_D Animation = UBBlackMkt_D.UBBlackMkt_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = UBBlackMkt_E Animation = UBBlackMkt_E.UBBlackMkt_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED Model = UBBlkMktEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG.UBBlkMktEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBBlkMktEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_D.UBBlkMktEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBBlkMktEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_E.UBBlkMktEG_E AnimationMode = LOOP End ; day snow ConditionState = SNOW Model = UBBlackMkt_S Animation = UBBlackMkt_S.UBBlackMkt_S AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED SNOW Model = UBBlackMkt_DS Animation = UBBlackMkt_DS.UBBlackMkt_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBBlackMkt_ES Animation = UBBlackMkt_ES.UBBlackMkt_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED SNOW Model = UBBlkMktEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_S.UBBlkMktEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBBlkMktEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DS.UBBlkMktEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBBlkMktEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_ES.UBBlkMktEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBBlackMkt_N Animation = UBBlackMkt_N.UBBlackMkt_N AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED NIGHT Model = UBBlackMkt_DN Animation = UBBlackMkt_DN.UBBlackMkt_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBBlackMkt_EN Animation = UBBlackMkt_EN.UBBlackMkt_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED NIGHT Model = UBBlkMktEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_N.UBBlkMktEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBBlkMktEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DN.UBBlkMktEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBBlkMktEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_EN.UBBlkMktEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBBlackMkt_NS Animation = UBBlackMkt_NS.UBBlackMkt_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED NIGHT SNOW Model = UBBlackMkt_DNS Animation = UBBlackMkt_DNS.UBBlackMkt_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBBlackMkt_ENS Animation = UBBlackMkt_ENS.UBBlackMkt_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED NIGHT SNOW Model = UBBlkMktEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_NS.UBBlkMktEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBBlkMktEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DNS.UBBlkMktEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBBlkMktEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_ENS.UBBlkMktEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt Animation = UBBlackMkt.UBBlackMkt AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBBlackMkt_D Animation = UBBlackMkt_D.UBBlackMkt_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBBlackMkt_E Animation = UBBlackMkt_E.UBBlackMkt_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBBlackMkt_N Animation = UBBlackMkt_N.UBBlackMkt_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBBlackMkt_DN Animation = UBBlackMkt_DN.UBBlackMkt_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBBlackMkt_EN Animation = UBBlackMkt_EN.UBBlackMkt_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBBlackMkt_S Animation = UBBlackMkt_S.UBBlackMkt_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBBlackMkt_DS Animation = UBBlackMkt_DS.UBBlackMkt_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBBlackMkt_ES Animation = UBBlackMkt_ES.UBBlackMkt_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBBlackMkt_NS Animation = UBBlackMkt_NS.UBBlackMkt_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBBlackMkt_DNS Animation = UBBlackMkt_DNS.UBBlackMkt_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBBlackMkt_ENS Animation = UBBlackMkt_ENS.UBBlackMkt_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:BlackMarket Side = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_GLAPalace End BuildCost = 2500 BuildTime = 30.0 ; in seconds EnergyProduction = 0 CommandSet = Chem_GLABlackMarketCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = BlackMarketSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY SCORE_CREATE FS_BLACK_MARKET Body = StructureBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = AutoDepositUpdate ModuleTag_05 DepositTiming = 2000 ; in milliseconds DepositAmount = 20 ; cash amount to deposit every DepositTiming InitialCaptureBonus = 0 ; no initial bonus End Behavior = ProductionUpdate ModuleTag_06 ; nothing End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = RebuildHoleExposeDie ModuleTag_08 HoleName = GLAHoleBlackMarket HoleMaxHealth = 500.0 End Behavior = CreateObjectDie ModuleTag_09 CreationList = OCL_ABPowerPlantExplode End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureSmallDeath End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_13 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = BOX GeometryMajorRadius = 35.0 GeometryMinorRadius = 35.0 GeometryHeight = 35.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Chem_GLAHoleBlackMarket Chem_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED RUBBLE Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBBlackMkt_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke End ConditionState = DAMAGED REALLYDAMAGED RUBBLE Model = UBBlackMkt_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke End End End ;------------------------------------------------------------------------------ Object Chem_FakeGLABlackMarket ; *** ART Parameters *** SelectPortrait = SUBlackMarket_L ButtonImage = SUBlackMarket UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBBlackMkt Animation = UBBlackMkt.UBBlackMkt AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED Model = UBBlackMkt_D Animation = UBBlackMkt_D.UBBlackMkt_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = UBBlackMkt_E Animation = UBBlackMkt_E.UBBlackMkt_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED Model = UBBlkMktEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG.UBBlkMktEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBBlkMktEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_D.UBBlkMktEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBBlkMktEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_E.UBBlkMktEG_E AnimationMode = LOOP End ; day snow ConditionState = SNOW Model = UBBlackMkt_S Animation = UBBlackMkt_S.UBBlackMkt_S AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED SNOW Model = UBBlackMkt_DS Animation = UBBlackMkt_DS.UBBlackMkt_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBBlackMkt_ES Animation = UBBlackMkt_ES.UBBlackMkt_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED SNOW Model = UBBlkMktEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_S.UBBlkMktEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBBlkMktEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DS.UBBlkMktEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBBlkMktEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_ES.UBBlkMktEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBBlackMkt_N Animation = UBBlackMkt_N.UBBlackMkt_N AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED NIGHT Model = UBBlackMkt_DN Animation = UBBlackMkt_DN.UBBlackMkt_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBBlackMkt_EN Animation = UBBlackMkt_EN.UBBlackMkt_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED NIGHT Model = UBBlkMktEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_N.UBBlkMktEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBBlkMktEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DN.UBBlkMktEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBBlkMktEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_EN.UBBlkMktEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBBlackMkt_NS Animation = UBBlackMkt_NS.UBBlackMkt_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED NIGHT SNOW Model = UBBlackMkt_DNS Animation = UBBlackMkt_DNS.UBBlackMkt_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBBlackMkt_ENS Animation = UBBlackMkt_ENS.UBBlackMkt_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED NIGHT SNOW Model = UBBlkMktEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_NS.UBBlkMktEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBBlkMktEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DNS.UBBlkMktEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBBlkMktEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_ENS.UBBlkMktEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt Animation = UBBlackMkt.UBBlackMkt AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBBlackMkt_D Animation = UBBlackMkt_D.UBBlackMkt_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBBlackMkt_E Animation = UBBlackMkt_E.UBBlackMkt_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBBlackMkt_N Animation = UBBlackMkt_N.UBBlackMkt_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBBlackMkt_DN Animation = UBBlackMkt_DN.UBBlackMkt_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBBlackMkt_EN Animation = UBBlackMkt_EN.UBBlackMkt_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBBlackMkt_S Animation = UBBlackMkt_S.UBBlackMkt_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBBlackMkt_DS Animation = UBBlackMkt_DS.UBBlackMkt_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBBlackMkt_ES Animation = UBBlackMkt_ES.UBBlackMkt_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBBlackMkt_NS Animation = UBBlackMkt_NS.UBBlackMkt_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBBlackMkt_DNS Animation = UBBlackMkt_DNS.UBBlackMkt_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBBlackMkt_ENS Animation = UBBlackMkt_ENS.UBBlackMkt_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:BlackMarket Side = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_GLAPalace End BuildCost = 625 BuildTime = 20.0 ; in seconds EnergyProduction = 0 CommandSet = FakeGLABlackMarketCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 50 50 50 50 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = BlackMarketSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE Body = StructureBody ModuleTag_04 MaxHealth = 125.0 InitialHealth = 125.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 325 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = AIUpdateInterface ModuleTag_05 AutoAcquireEnemiesWhenIdle = No End Behavior = ProductionUpdate ModuleTag_06 ; nothing End Behavior = SlowDeathBehavior ModuleTag_07 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 0 Weapon = FINAL FakeStructureDetonationWeapon End Behavior = DestroyDie ModuleTag_SlowDeathException RequiredStatus = UNDER_CONSTRUCTION End Behavior = ReplaceObjectUpgrade ModuleTag_08 ReplaceObject = Chem_GLABlackMarket TriggeredBy = Upgrade_BecomeRealGLABlackMarket End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = CreateObjectDie ModuleTag_09 CreationList = OCL_ABPowerPlantExplode End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureSmallDeath End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_13 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = AutoDepositUpdate ModuleTag_FakeMoney DepositTiming = 2000 ; in milliseconds DepositAmount = 20 ; cash amount to deposit every DepositTiming InitialCaptureBonus = 0 ; no initial bonus ActualMoney = No ; Display only so I look like a BlackMarket End Geometry = BOX GeometryMajorRadius = 35.0 GeometryMinorRadius = 35.0 GeometryHeight = 35.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure. ShadowSizeX = 108 ShadowSizeY = 96 BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Chem_GLAScudStorm ; *** ART Parameters *** SelectPortrait = SUScudStorm_L ButtonImage = SUScudStorm Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ProjectileBoneFeedbackEnabledSlots = PRIMARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset ; day ConditionState = NONE ; lying around Model = UBScudStrm_A1 Animation = UBScudStrm_A1.UBScudStrm_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY Trans_ATTACKING ; from lying around to straight up Model = UBScudStrm_A1 Animation = UBScudStrm_A1.UBScudStrm_A1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING ; Projectile feedback code selectively hiding missiles as they shoot Model = UBScudStrm_A2 Animation = UBScudStrm_A2.UBScudStrm_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A TransitionState = Trans_ATTACKING Trans_READY ; empty arms going underground, coming up with presents for bad people Model = UBScudStrm_A3 Animation = UBScudStrm_A3.UBScudStrm_A3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBScudStrm_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBScudStrm_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ;------------------------------------------------------------------------------------------------------------------------- ; day ConditionState = DAMAGED Model = UBScudStrm_DA1 Animation = UBScudStrm_DA1.UBScudStrm_DA1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_DAMAGED ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_DAMAGED Trans_ATTACKING_DAMAGED Model = UBScudStrm_DA1 Animation = UBScudStrm_DA1.UBScudStrm_DA1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING DAMAGED Model = UBScudStrm_DA2 Animation = UBScudStrm_DA2.UBScudStrm_DA2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_DAMAGED ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A DAMAGED AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A DAMAGED TransitionState = Trans_ATTACKING_DAMAGED Trans_READY_DAMAGED Model = UBScudStrm_DA3 Animation = UBScudStrm_DA3.UBScudStrm_DA3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = REALLYDAMAGED RUBBLE Model = UBScudStrm_EA1 Animation = UBScudStrm_EA1.UBScudStrm_EA1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_REALLYDAMAGED ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_REALLYDAMAGED Trans_ATTACKING_REALLYDAMAGED Model = UBScudStrm_EA1 Animation = UBScudStrm_EA1.UBScudStrm_EA1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING REALLYDAMAGED RUBBLE Model = UBScudStrm_EA2 Animation = UBScudStrm_EA2.UBScudStrm_EA2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_REALLYDAMAGED ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A REALLYDAMAGED RUBBLE AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED RUBBLE TransitionState = Trans_ATTACKING_REALLYDAMAGED Trans_READY_REALLYDAMAGED Model = UBScudStrm_EA3 Animation = UBScudStrm_EA3.UBScudStrm_EA3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ; SNOW ConditionState = SNOW ; from underground to lying around Model = UBScudStrm_A1S Animation = UBScudStrm_A1S.UBScudStrm_A1S AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_SNOW Trans_ATTACKING_SNOW Model = UBScudStrm_A1S Animation = UBScudStrm_A1S.UBScudStrm_A1S AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING SNOW ; Projectile feedback code selectively hiding missiles as they shoot Model = UBScudStrm_A2S Animation = UBScudStrm_A2S.UBScudStrm_A2S AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A SNOW TransitionState = Trans_ATTACKING_SNOW Trans_READY_SNOW ; empty arms going underground Model = UBScudStrm_A3S Animation = UBScudStrm_A3S.UBScudStrm_A3S AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBScudStrm Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW Model = UBScudStrm_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW Model = UBScudStrm_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = DAMAGED SNOW Model = UBScudStrm_DA1 Animation = UBScudStrm_DA1.UBScudStrm_DA1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_DAMAGED_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_DAMAGED_SNOW Trans_ATTACKING_DAMAGED_SNOW Model = UBScudStrm_DA1 Animation = UBScudStrm_DA1.UBScudStrm_DA1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING DAMAGED SNOW Model = UBScudStrm_DA2 Animation = UBScudStrm_DA2.UBScudStrm_DA2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_DAMAGED_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A DAMAGED SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A DAMAGED SNOW TransitionState = Trans_ATTACKING_DAMAGED_SNOW Trans_READY_DAMAGED_SNOW Model = UBScudStrm_DA3 Animation = UBScudStrm_DA3.UBScudStrm_DA3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBScudStrm_EA1 Animation = UBScudStrm_EA1.UBScudStrm_EA1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_REALLYDAMAGED_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_REALLYDAMAGED_SNOW Trans_ATTACKING_REALLYDAMAGED_SNOW Model = UBScudStrm_EA1 Animation = UBScudStrm_EA1.UBScudStrm_EA1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING REALLYDAMAGED RUBBLE SNOW Model = UBScudStrm_EA2 Animation = UBScudStrm_EA2.UBScudStrm_EA2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_REALLYDAMAGED_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A REALLYDAMAGED RUBBLE SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED RUBBLE SNOW TransitionState = Trans_ATTACKING_REALLYDAMAGED_SNOW Trans_READY_REALLYDAMAGED_SNOW Model = UBScudStrm_EA3 Animation = UBScudStrm_EA3.UBScudStrm_EA3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ; NIGHT ConditionState = NIGHT ; from underground to lying around Model = UBScudStrm_A1 Animation = UBScudStrm_A1.UBScudStrm_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_NIGHT Trans_ATTACKING_NIGHT Model = UBScudStrm_A1 Animation = UBScudStrm_A1.UBScudStrm_A1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING NIGHT ; Projectile feedback code selectively hiding missiles as they shoot Model = UBScudStrm_A2 Animation = UBScudStrm_A2.UBScudStrm_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT TransitionState = Trans_ATTACKING_NIGHT Trans_READY_NIGHT ; empty arms going underground Model = UBScudStrm_A3 Animation = UBScudStrm_A3.UBScudStrm_A3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBScudStrm Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT Model = UBScudStrm_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT Model = UBScudStrm_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = DAMAGED NIGHT Model = UBScudStrm_DA1N Animation = UBScudStrm_DA1N.UBScudStrm_DA1N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_DAMAGED_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_DAMAGED_NIGHT Trans_ATTACKING_DAMAGED_NIGHT Model = UBScudStrm_DA1N Animation = UBScudStrm_DA1N.UBScudStrm_DA1N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING DAMAGED NIGHT Model = UBScudStrm_DA2N Animation = UBScudStrm_DA2N.UBScudStrm_DA2N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_DAMAGED_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT DAMAGED AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT DAMAGED TransitionState = Trans_ATTACKING_DAMAGED_NIGHT Trans_READY_DAMAGED_NIGHT Model = UBScudStrm_DA3N Animation = UBScudStrm_DA3N.UBScudStrm_DA3N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBScudStrm_EA1N Animation = UBScudStrm_EA1N.UBScudStrm_EA1N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_REALLYDAMAGED_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_REALLYDAMAGED_NIGHT Trans_ATTACKING_REALLYDAMAGED_NIGHT Model = UBScudStrm_EA1N Animation = UBScudStrm_EA1N.UBScudStrm_EA1N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING REALLYDAMAGED RUBBLE NIGHT Model = UBScudStrm_EA2N Animation = UBScudStrm_EA2N.UBScudStrm_EA2N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_REALLYDAMAGED_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT REALLYDAMAGED RUBBLE AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT REALLYDAMAGED RUBBLE TransitionState = Trans_ATTACKING_REALLYDAMAGED_NIGHT Trans_READY_REALLYDAMAGED_NIGHT Model = UBScudStrm_EA3N Animation = UBScudStrm_EA3N.UBScudStrm_EA3N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ; NIGHT SNOW ConditionState = NIGHT SNOW ; from underground to lying around Model = UBScudStrm_A1NS Animation = UBScudStrm_A1NS.UBScudStrm_A1NS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_NIGHTSNOW Trans_ATTACKING_NIGHTSNOW Model = UBScudStrm_A1NS Animation = UBScudStrm_A1NS.UBScudStrm_A1NS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING NIGHT SNOW ; Projectile feedback code selectively hiding missiles as they shoot Model = UBScudStrm_A2NS Animation = UBScudStrm_A2NS.UBScudStrm_A2NS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT SNOW TransitionState = Trans_ATTACKING_NIGHTSNOW Trans_READY_NIGHTSNOW ; empty arms going underground Model = UBScudStrm_A3NS Animation = UBScudStrm_A3NS.UBScudStrm_A3NS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBScudStrm Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW Model = UBScudStrm_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW Model = UBScudStrm_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = DAMAGED NIGHT SNOW Model = UBScudStrm_DA1N Animation = UBScudStrm_DA1N.UBScudStrm_DA1N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_DAMAGED_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_DAMAGED_NIGHTSNOW Trans_ATTACKING_DAMAGED_NIGHTSNOW Model = UBScudStrm_DA1N Animation = UBScudStrm_DA1N.UBScudStrm_DA1N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING DAMAGED NIGHT SNOW Model = UBScudStrm_DA2N Animation = UBScudStrm_DA2N.UBScudStrm_DA2N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_DAMAGED_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT DAMAGED SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT DAMAGED SNOW TransitionState = Trans_ATTACKING_DAMAGED_NIGHTSNOW Trans_READY_DAMAGED_NIGHTSNOW Model = UBScudStrm_DA3N Animation = UBScudStrm_DA3N.UBScudStrm_DA3N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBScudStrm_EA1N Animation = UBScudStrm_EA1N.UBScudStrm_EA1N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_REALLYDAMAGED_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_REALLYDAMAGED_NIGHTSNOW Trans_ATTACKING_REALLYDAMAGED_NIGHTSNOW Model = UBScudStrm_EA1N Animation = UBScudStrm_EA1N.UBScudStrm_EA1N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBScudStrm_EA2N Animation = UBScudStrm_EA2N.UBScudStrm_EA2N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_REALLYDAMAGED_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT REALLYDAMAGED RUBBLE SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT REALLYDAMAGED RUBBLE SNOW TransitionState = Trans_ATTACKING_REALLYDAMAGED_NIGHTSNOW Trans_READY_REALLYDAMAGED_NIGHTSNOW Model = UBScudStrm_EA3N Animation = UBScudStrm_EA3N.UBScudStrm_EA3N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ConditionState = SOLD Model = NONE End AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD DAMAGED SNOW AliasConditionState = SOLD REALLYDAMAGED SNOW AliasConditionState = SOLD NIGHT AliasConditionState = SOLD DAMAGED NIGHT AliasConditionState = SOLD REALLYDAMAGED NIGHT AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD DAMAGED NIGHT SNOW AliasConditionState = SOLD REALLYDAMAGED NIGHT SNOW End ;------------------------------------------------------------------------------------------------------------------------- ;------------------------------------------------------------------------------------------------------------------------- ;------------------------------------------------------------------------------------------------------------------------- Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = None Model = UBScudStrm_A5 Animation = UBScudStrm_A5.UBScudStrm_A5 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End ConditionState = PREATTACK_A ATTACKING Model = UBScudStrm_A5 Animation = UBScudStrm_A5.UBScudStrm_A5 AnimationMode = LOOP Flags = START_FRAME_FIRST End ConditionState = ATTACKING Model = UBScudStrm_A5 Animation = UBScudStrm_A5.UBScudStrm_A5 AnimationMode = LOOP Flags = START_FRAME_FIRST End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = DAMAGED ; Model = UBScudStrm_DA5 ; Animation = UBScudStrm_DA5.UBScudStrm_DA5 ; AnimationMode = MANUAL ; Flags = START_FRAME_FIRST ;End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = PREATTACK_A ATTACKING DAMAGED ; Model = UBScudStrm_DA5 ; Animation = UBScudStrm_DA5.UBScudStrm_DA5 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ;End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = ATTACKING DAMAGED ; Model = UBScudStrm_DA5 ; Animation = UBScudStrm_DA5.UBScudStrm_DA5 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ;End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = REALLYDAMAGED ; Model = UBScudStrm_EA5 ; Animation = UBScudStrm_EA5.UBScudStrm_EA5 ; AnimationMode = MANUAL ; Flags = START_FRAME_FIRST ;End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = PREATTACK_A ATTACKING REALLYDAMAGED ; Model = UBScudStrm_EA5 ; Animation = UBScudStrm_EA5.UBScudStrm_EA5 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ;End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = ATTACKING REALLYDAMAGED ; Model = UBScudStrm_EA5 ; Animation = UBScudStrm_EA5.UBScudStrm_EA5 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ;End End Draw = W3DModelDraw ModuleTag_03 OkToChangeModelColor = Yes ConditionState = None Model = UBScudStrm_A6 Animation = UBScudStrm_A6.UBScudStrm_A6 AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED Model = UBScudStrm_DA6 Animation = UBScudStrm_DA6.UBScudStrm_DA6 AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE Model = UBScudStrm_EA6 Animation = UBScudStrm_EA6.UBScudStrm_EA6 AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm_A6 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBScudStrm_DA6 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = UBScudStrm_EA6 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End End Draw = W3DModelDraw ModuleTag_04 OkToChangeModelColor = Yes ConditionState = None Model = UBScudStrm_F Animation = UBScudStrm_F.UBScudStrm_F AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED Model = UBScudStrm_DF Animation = UBScudStrm_DF.UBScudStrm_DF AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE Model = UBScudStrm_EF Animation = UBScudStrm_EF.UBScudStrm_EF AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = SOLD Model = NONE End AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD DAMAGED SNOW AliasConditionState = SOLD REALLYDAMAGED SNOW AliasConditionState = SOLD NIGHT AliasConditionState = SOLD DAMAGED NIGHT AliasConditionState = SOLD REALLYDAMAGED NIGHT AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD DAMAGED NIGHT SNOW AliasConditionState = SOLD REALLYDAMAGED NIGHT SNOW End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm_AB Animation = UBScudStrm_AB.UBScudStrm_AB AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm_ABN Animation = UBScudStrm_ABN.UBScudStrm_ABN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm_ABS Animation = UBScudStrm_ABS.UBScudStrm_ABS AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm_ABSN Animation = UBScudStrm_ABSN.UBScudStrm_ABSN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBScudStrm_AB Animation = UBScudStrm_AB.UBScudStrm_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBScudStrm_ABN Animation = UBScudStrm_ABN.UBScudStrm_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBScudStrm_ABS Animation = UBScudStrm_ABS.UBScudStrm_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBScudStrm_ABSN Animation = UBScudStrm_ABSN.UBScudStrm_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBScudStrm_AB Animation = UBScudStrm_AB.UBScudStrm_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBScudStrm_ABN Animation = UBScudStrm_ABN.UBScudStrm_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBScudStrm_ABS Animation = UBScudStrm_ABS.UBScudStrm_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBScudStrm_ABSN Animation = UBScudStrm_ABSN.UBScudStrm_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_06 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBScudStrm_AC Animation = UBScudStrm_AC.UBScudStrm_AC AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBScudStrm_ACN Animation = UBScudStrm_ACN.UBScudStrm_ACN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBScudStrm_ACS Animation = UBScudStrm_ACS.UBScudStrm_ACS AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBScudStrm_ACSN Animation = UBScudStrm_ACSN.UBScudStrm_ACSN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBScudStrm_AC Animation = UBScudStrm_AC.UBScudStrm_AC AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBScudStrm_ACN Animation = UBScudStrm_ACN.UBScudStrm_ACN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBScudStrm_ACS Animation = UBScudStrm_ACS.UBScudStrm_ACS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBScudStrm_ACSN Animation = UBScudStrm_ACSN.UBScudStrm_ACSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBScudStrm_AC Animation = UBScudStrm_AC.UBScudStrm_AC AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBScudStrm_ACN Animation = UBScudStrm_ACN.UBScudStrm_ACN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBScudStrm_ACS Animation = UBScudStrm_ACS.UBScudStrm_ACS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBScudStrm_ACSN Animation = UBScudStrm_ACSN.UBScudStrm_ACSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:ScudStorm Side = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_GLAPalace End BuildCost = 5000 BuildTime = 60.0 ; in seconds EnergyProduction = 0 CommandSet = Chem_GLAScudStormCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ShroudRevealToAllRange = 60 ; Reveals shroud to all players at a specific amount which can be different. ; Using same value? Then use KINDOF_REVEAL_TO_ALL instead! WeaponSet Conditions = None Weapon = PRIMARY Chem_ScudStormWeapon AutoChooseSources = PRIMARY NONE End ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 400 400 400 400 ; Experience point value at each level MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games MaxSimultaneousLinkKey = Superweapon ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType ; *** AUDIO Parameters *** VoiceSelect = ScudStormSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) TurretMoveLoopLoud End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY SCORE_CREATE FS_SUPERWEAPON Body = StructureBody ModuleTag_07 MaxHealth = 4000.0 InitialHealth = 4000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 4200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = RebuildHoleExposeDie ModuleTag_08 HoleName = GLAHoleScudStorm HoleMaxHealth = 500.0 End Behavior = AIUpdateInterface ModuleTag_09 End Behavior = OCLSpecialPower ModuleTag_10 SpecialPowerTemplate = SuperweaponScudStorm OCL = SUPERWEAPON_ScudStorm End Behavior = SpecialPowerCreate ModuleTag_11 ;nothing End Behavior = DestroyDie ModuleTag_12 ;nothing End Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_PoisonFieldMedium ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_14 DeathFX = WeaponFX_BombTruckHighExplosiveBioBombDetonation ExemptStatus = UNDER_CONSTRUCTION End Behavior = FlammableUpdate ModuleTag_16 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = RadiusDecalUpdate ModuleTag_17 ; nothing End Behavior = TransitionDamageFX ModuleTag_18 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = FXListDie ModuleTag_19 DeathFX = FX_BuildingDie End Geometry = BOX GeometryMajorRadius = 71.0 GeometryMinorRadius = 67.0 GeometryHeight = 25.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;GLA Chem Trap Object Chem_GLADemoTrap ; *** ART Parameters *** SelectPortrait = SSHideBomb ButtonImage = SSHideBomb UpgradeCameo1 = Chem_Upgrade_GLAAnthraxGamma Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = EXHideBomb End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = RUBBLE AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = EXHideBomb Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = EXHideBomb Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = EXHideBomb Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:DemoTrap Side = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_GLAArmsDealer End BuildCost = 600 BuildTime = 8.0 ; in seconds EnergyProduction = 0 VisionRange = 150.0 ; Shroud clearing distance ShroudClearingRange = 150.0 ; Shroud clearing distance ExperienceValue = 50 50 50 50 ; Experience point value at each level WeaponSet ;The weapon set is used to determine detonation mode Conditions = None Weapon = PRIMARY DummyWeapon ;Used for mode matching only (when to detonate) Weapon = SECONDARY DummyWeapon ;Used for mode matching only (when to detonate) Weapon = TERTIARY DummyWeapon ;Used for mode matching only (when to detonate) AutoChooseSources = PRIMARY NONE AutoChooseSources = SECONDARY NONE AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = StructureArmor DamageFX = DefaultDamageFX ; Too small for normal building FX, but if we do make dedicated one it should be silent End CommandSet = GLADemoTrapCommandSet ; *** AUDIO Parameters *** VoiceSelect = UndergroundGeneratorSelect SoundOnDamaged = NoSound SoundOnReallyDamaged = NoSound UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE IMMUNE_TO_CAPTURE DEMOTRAP Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = StealthUpdate ModuleTag_03 StealthDelay = 0 ; msec StealthForbiddenConditions = NONE FriendlyOpacityMin = 100.0% OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = DemoTrapUpdate ModuleTag_04 DefaultProximityMode = Yes ;If yes, defaults to proximity mode, otherwise defaults to manual. DetonationWeaponSlot = PRIMARY ;The slot the weapon is in when it detonates. ProximityModeWeaponSlot = SECONDARY ;The slot proximity mode is determined by (bogus weapon) ManualModeWeaponSlot = TERTIARY ;The slot manual mode is determined by (bogus weapon) TriggerDetonationRange = 40.0 ;Detonation range when in proximity mode (and must be on ground) IgnoreTargetTypes = PROJECTILE UNATTACKABLE AutoDetonationWithFriendsInvolved = Yes ;GLA are low tech DetonateWhenKilled = Yes End Behavior = SlowDeathBehavior ModuleTag_05 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 1000 FX = INITIAL FX_GLADemoTrapWarning ; Weapon = FINAL Chem_DemoTrapDetonationWeaponBeta End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Chem01 DeathWeapon = Chem_DemoTrapDetonationWeaponBeta StartsActive = Yes ConflictsWith = Chem_Upgrade_GLAAnthraxGamma End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Chem02 DeathWeapon = Chem_DemoTrapDetonationWeaponGamma StartsActive = No ; turned on by upgrade TriggeredBy = Chem_Upgrade_GLAAnthraxGamma End Behavior = FlammableUpdate ModuleTag_07 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = InstantDeathBehavior ModuleTag_08 ; if we are under construction, use this death instead RequiredStatus = UNDER_CONSTRUCTION ; no effect End BuildCompletion = PLACED_BY_PLAYER Shadow = SHADOW_VOLUME Geometry = CYLINDER GeometryMajorRadius = 4.0 GeometryHeight = 9 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ObjectReskin Chem_GLAHoleDemoTrap Chem_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End ;Remove comments for this section and replace the model entries for the ;pristine, and damage/reallydamaged rubble around the GLA hole below ; Draw = W3DModelDraw ; OkToChangeModelColor = Yes ; ConditionState = NONE ; Model = UBSupply_R ; End ; ConditionState = DAMAGED REALLYDAMAGED ; Model = UBSupply_R ; End ; End End ;------------------------------------------------------------------------------ Object Chem_GLAStingerSite ; *** ART Parameters *** SelectPortrait = SUStinger_L ButtonImage = SUStinger UpgradeCameo1 = Upgrade_GLAAPRockets ;UpgradeCameo2 = Upgrade_GLACamoNetting ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ************************************ ConditionState = NONE Model = UBStingerS End ConditionState = DAMAGED Model = UBStingerS_D End ConditionState = REALLYDAMAGED RUBBLE Model = UBStingerS_E End ; day snow ************************************ ConditionState = SNOW Model = UBStingerS_S End ConditionState = DAMAGED SNOW Model = UBStingerS_DS End ConditionState = REALLYDAMAGED SNOW RUBBLE Model = UBStingerS_ES End ; night ********************************** ConditionState = NIGHT Model = UBStingerS_N End ConditionState = DAMAGED NIGHT Model = UBStingerS_DN End ConditionState = REALLYDAMAGED NIGHT RUBBLE Model = UBStingerS_EN End ; night snow ********************************** ConditionState = NIGHT SNOW Model = UBStingerS_NS End ConditionState = DAMAGED NIGHT SNOW Model = UBStingerS_DNS End ConditionState = REALLYDAMAGED NIGHT SNOW RUBBLE Model = UBStingerS_ENS End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBStingerS ; Animation = UBStingerS.UBStingerS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBStingerS_D ; Animation = UBStingerS_D.UBStingerS_D ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBStingerS_E ; Animation = UBStingerS_E.UBStingerS_E ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBStingerS_N ; Animation = UBStingerS_N.UBStingerS_N ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBStingerS_DN ; Animation = UBStingerS_DN.UBStingerS_DN ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBStingerS_EN ; Animation = UBStingerS_EN.UBStingerS_EN ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBStingerS_S ; Animation = UBStingerS_S.UBStingerS_S ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBStingerS_DS ; Animation = UBStingerS_DS.UBStingerS_DS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBStingerS_ES ; Animation = UBStingerS_ES.UBStingerS_ES ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBStingerS_NS ; Animation = UBStingerS_NS.UBStingerS_NS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBStingerS_DNS ; Animation = UBStingerS_DNS.UBStingerS_DNS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBStingerS_ENS ; Animation = UBStingerS_ENS.UBStingerS_ENS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBStingerS_A4 Animation = UBStingerS_A4.UBStingerS_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBStingerS_A4N Animation = UBStingerS_A4N.UBStingerS_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBStingerS_A4S Animation = UBStingerS_A4S.UBStingerS_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBStingerS_A4SN Animation = UBStingerS_A4SN.UBStingerS_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBStingerS_A4 Animation = UBStingerS_A4.UBStingerS_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBStingerS_A4N Animation = UBStingerS_A4N.UBStingerS_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBStingerS_A4S Animation = UBStingerS_A4S.UBStingerS_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBStingerS_A4SN Animation = UBStingerS_A4SN.UBStingerS_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBStingerS_A4 Animation = UBStingerS_A4.UBStingerS_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBStingerS_A4N Animation = UBStingerS_A4N.UBStingerS_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBStingerS_A4S Animation = UBStingerS_A4S.UBStingerS_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBStingerS_A4SN Animation = UBStingerS_A4SN.UBStingerS_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBStingerS_A6 Animation = UBStingerS_A6.UBStingerS_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBStingerS_A6N Animation = UBStingerS_A6N.UBStingerS_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBStingerS_A6S Animation = UBStingerS_A6S.UBStingerS_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBStingerS_A6SN Animation = UBStingerS_A6SN.UBStingerS_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBStingerS_A6 Animation = UBStingerS_A6.UBStingerS_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBStingerS_A6N Animation = UBStingerS_A6N.UBStingerS_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBStingerS_A6S Animation = UBStingerS_A6S.UBStingerS_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBStingerS_A6SN Animation = UBStingerS_A6SN.UBStingerS_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBStingerS_A6 Animation = UBStingerS_A6.UBStingerS_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBStingerS_A6N Animation = UBStingerS_A6N.UBStingerS_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBStingerS_A6S Animation = UBStingerS_A6S.UBStingerS_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBStingerS_A6SN Animation = UBStingerS_A6SN.UBStingerS_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:StingerSite Side = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_GLABarracks End BuildCost = 900 BuildTime = 15.0 ; in seconds EnergyProduction = 0 VisionRange = 600.0 ; Shroud clearing distance ShroudClearingRange = 400 ArmorSet Conditions = None Armor = StingerSiteArmor DamageFX = StructureDamageFXNoShake End CommandSet = Chem_GLAStingerSiteCommandSet ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = StingerSiteSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_BASE_DEFENSE IMMUNE_TO_CAPTURE SPAWNS_ARE_THE_WEAPONS SCORE_CREATE Body = HiveStructureBody ModuleTag_04 ;Requires SpawnBehavior! MaxHealth = 1000.0 InitialHealth = 1000.0 ;**Careful with these damage types -- because area damage types will already ;**damage slaves. PropagateDamageTypesToSlavesWhenExisting = NONE +SMALL_ARMS +SNIPER +POISON +RADIATION +SURRENDER SwallowDamageTypesIfSlavesNotExisting = NONE +SNIPER +POISON +SURRENDER; Take no damage if no one to pass this to ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = SpawnPointProductionExitUpdate ModuleTag_05 SpawnPointBoneName = SpawnPoint End Behavior = SpawnBehavior ModuleTag_06 SpawnNumber = 3 SpawnReplaceDelay = 30000 ;msec SpawnTemplateName = Chem_GLAInfantryStingerSoldier CanReclaimOrphans = No SpawnedRequireSpawner = Yes SlavesHaveFreeWill = No End Behavior = RebuildHoleExposeDie ModuleTag_08 HoleName = GLAHoleStingerSite HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_09 ; End Behavior = CreateObjectDie ModuleTag_10 CreationList = OCL_ABStingerSiteDebris End Behavior = FXListDie ModuleTag_11 DeathFX = FX_StructureSmallDeath End Behavior = FireWeaponWhenDeadBehavior ModuleTag_12 DeathWeapon = StingerSiteDeathConcussion StartsActive = Yes End ;Kris: Cut camo-netting from Chem General ;Behavior = StealthUpdate ModuleTag_13 ; StealthDelay = 2500 ; msec ; StealthForbiddenConditions = ATTACKING USING_ABILITY NO_BLACK_MARKET TAKING_DAMAGE ; MoveThresholdSpeed = 3 ; InnateStealth = No ;Requires upgrade first ; OrderIdleEnemiesToAttackMeUponReveal = Yes ;End ;Behavior = StealthUpgrade ModuleTag_14 ; TriggeredBy = Upgrade_GLACamoNetting ;End ;Behavior = ProductionUpdate ModuleTag_15 ;End Behavior = FlammableUpdate ModuleTag_16 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_17 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = CYLINDER GeometryMajorRadius = 36.0 GeometryHeight = 9.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Chem_GLAHoleStingerSite Chem_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBStingerS_R End ConditionState = DAMAGED REALLYDAMAGED Model = UBStingerS_R End End End ;------------------------------------------------------------------------------ Object Chem_GLAPalace ; *** ART Parameters *** SelectPortrait = SUPalace_L ButtonImage = SUPalace UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBPalace ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace.UBPalace AnimationMode = LOOP End ConditionState = DAMAGED Model = UBPalace_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_D.UBPalace_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBPalace_E ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED Model = UBPalace_G ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_G.UBPalace_G AnimationMode = LOOP End ConditionState = USER_1 Model = UBPalaceEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG.UBPalaceEG AnimationMode = LOOP End ConditionState = USER_1 GARRISONED Model = UBPalaceEGX ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX.UBPalaceEGX AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBPalace_DG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DG.UBPalace_DG AnimationMode = LOOP End ConditionState = DAMAGED USER_1 Model = UBPalaceEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_D.UBPalaceEG_D AnimationMode = LOOP End ConditionState = DAMAGED USER_1 GARRISONED Model = UBPalaceEGX_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_D.UBPalaceEGX_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBPalace_EG ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 Model = UBPalaceEG_E ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 GARRISONED Model = UBPalaceEGX_E ParticleSysBone = Smoke01 SmolderingSmoke End ; day snow ConditionState = SNOW Model = UBPalace_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_S.UBPalace_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBPalace_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DS.UBPalace_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBPalace_ES ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED SNOW Model = UBPalace_SG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_SG.UBPalace_SG AnimationMode = LOOP End ConditionState = USER_1 SNOW Model = UBPalaceEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_S.UBPalaceEG_S AnimationMode = LOOP End ConditionState = USER_1 SNOW GARRISONED Model = UBPalaceEGX_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_S.UBPalaceEGX_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBPalace_DSG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DSG.UBPalace_DSG AnimationMode = LOOP End ConditionState = DAMAGED USER_1 SNOW Model = UBPalaceEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_DS.UBPalaceEG_DS AnimationMode = LOOP End ConditionState = DAMAGED USER_1 SNOW GARRISONED Model = UBPalaceEGX_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_DSG.UBPalaceEGX_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBPalace_ESG ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 SNOW Model = UBPalaceEG_ES ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 GARRISONED SNOW Model = UBPalaceEGX_ES ParticleSysBone = Smoke01 SmolderingSmoke End ; night ConditionState = NIGHT Model = UBPalace_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_N.UBPalace_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBPalace_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DN.UBPalace_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBPalace_EN ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED NIGHT Model = UBPalace_NG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_NG.UBPalace_NG AnimationMode = LOOP End ConditionState = USER_1 NIGHT Model = UBPalaceEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_N.UBPalaceEG_N AnimationMode = LOOP End ; commented out until we get the right state (garrison + elite guard) ConditionState = USER_1 NIGHT GARRISONED Model = UBPalaceEGX_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_N.UBPalaceEGX_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBPalace_DGN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DGN.UBPalace_DGN AnimationMode = LOOP End ConditionState = DAMAGED USER_1 NIGHT Model = UBPalaceEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_DN.UBPalaceEG_DN AnimationMode = LOOP End ConditionState = DAMAGED USER_1 NIGHT GARRISONED Model = UBPalaceEGX_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_DN.UBPalaceEGX_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBPalace_ENG ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 NIGHT Model = UBPalaceEG_EN ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 NIGHT GARRISONED Model = UBPalaceEGX_EN ParticleSysBone = Smoke01 SmolderingSmoke End ; night snow ConditionState = SNOW NIGHT Model = UBPalace_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_NS.UBPalace_NS AnimationMode = LOOP End ConditionState = DAMAGED SNOW NIGHT Model = UBPalace_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DNS.UBPalace_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = UBPalace_ENS ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED SNOW NIGHT Model = UBPalace_GNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_GNS.UBPalace_GNS AnimationMode = LOOP End ConditionState = USER_1 SNOW NIGHT Model = UBPalaceEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_NS.UBPalaceEG_NS AnimationMode = LOOP End ConditionState = USER_1 SNOW NIGHT GARRISONED Model = UBPalaceEGX_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_NS.UBPalaceEGX_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW NIGHT Model = UBPalace_DGNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DGNS.UBPalace_DGNS AnimationMode = LOOP End ConditionState = DAMAGED USER_1 SNOW NIGHT Model = UBPalaceEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_DNS.UBPalaceEG_DNS AnimationMode = LOOP End ConditionState = DAMAGED USER_1 SNOW NIGHT GARRISONED Model = UBPalaceEGX_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_DNS.UBPalaceEGX_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW NIGHT Model = UBPalace_ENSG ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 SNOW NIGHT Model = UBPalaceEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 SNOW NIGHT GARRISONED Model = UBPalaceEGX_ENS ParticleSysBone = Smoke01 SmolderingSmoke End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBPalace Animation = UBPalace.UBPalace AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBPalace_D Animation = UBPalace_D.UBPalace_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBPalace_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBPalace_N Animation = UBPalace_N.UBPalace_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBPalace_DN Animation = UBPalace_DN.UBPalace_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBPalace_EN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBPalace_S Animation = UBPalace_S.UBPalace_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBPalace_DS Animation = UBPalace_DS.UBPalace_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBPalace_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBPalace_NS Animation = UBPalace_NS.UBPalace_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBPalace_DNS Animation = UBPalace_DNS.UBPalace_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBPalace_ENS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION DAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION SNOW USER_1 AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED USER_1 AliasConditionState = SOLD USER_1 AliasConditionState = SOLD DAMAGED USER_1 AliasConditionState = SOLD REALLYDAMAGED USER_1 AliasConditionState = SOLD NIGHT USER_1 AliasConditionState = SOLD NIGHT DAMAGED USER_1 AliasConditionState = SOLD NIGHT REALLYDAMAGED USER_1 AliasConditionState = SOLD SNOW USER_1 AliasConditionState = SOLD SNOW DAMAGED USER_1 AliasConditionState = SOLD SNOW REALLYDAMAGED USER_1 AliasConditionState = SOLD NIGHT SNOW USER_1 AliasConditionState = SOLD NIGHT SNOW DAMAGED USER_1 AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED USER_1 AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD USER_1 AliasConditionState = GARRISONED SOLD DAMAGED USER_1 AliasConditionState = GARRISONED SOLD REALLYDAMAGED USER_1 AliasConditionState = GARRISONED SOLD NIGHT USER_1 AliasConditionState = GARRISONED SOLD NIGHT DAMAGED USER_1 AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED USER_1 AliasConditionState = GARRISONED SOLD SNOW USER_1 AliasConditionState = GARRISONED SOLD SNOW DAMAGED USER_1 AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED USER_1 AliasConditionState = GARRISONED SOLD NIGHT SNOW USER_1 AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED USER_1 AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED USER_1 ;************************************************************************************************************************** End PlacementViewAngle = -45 ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBPalace_A4 Animation = UBPalace_A4.UBPalace_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBPalace_A4N Animation = UBPalace_A4N.UBPalace_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBPalace_A4S Animation = UBPalace_A4S.UBPalace_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBPalace_A4SN Animation = UBPalace_A4SN.UBPalace_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBPalace_A4 Animation = UBPalace_A4.UBPalace_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBPalace_A4N Animation = UBPalace_A4N.UBPalace_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBPalace_A4S Animation = UBPalace_A4S.UBPalace_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBPalace_A4SN Animation = UBPalace_A4SN.UBPalace_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBPalace_A4 Animation = UBPalace_A4.UBPalace_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBPalace_A4N Animation = UBPalace_A4N.UBPalace_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBPalace_A4S Animation = UBPalace_A4S.UBPalace_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBPalace_A4SN Animation = UBPalace_A4SN.UBPalace_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBPalace_A6 Animation = UBPalace_A6.UBPalace_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBPalace_A6N Animation = UBPalace_A6N.UBPalace_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBPalace_A6S Animation = UBPalace_A6S.UBPalace_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBPalace_A6SN Animation = UBPalace_A6SN.UBPalace_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBPalace_A6 Animation = UBPalace_A6.UBPalace_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBPalace_A6N Animation = UBPalace_A6N.UBPalace_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBPalace_A6S Animation = UBPalace_A6S.UBPalace_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBPalace_A6SN Animation = UBPalace_A6SN.UBPalace_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBPalace_A6 Animation = UBPalace_A6.UBPalace_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBPalace_A6N Animation = UBPalace_A6N.UBPalace_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBPalace_A6S Animation = UBPalace_A6S.UBPalace_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBPalace_A6SN Animation = UBPalace_A6SN.UBPalace_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:Palace Side = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_GLAArmsDealer End BuildCost = 2500 BuildTime = 45.0 ; in seconds EnergyProduction = 0 VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 300 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmor DamageFX = StructureDamageFXNoShake End CommandSet = Chem_GLAPalaceCommandSet ExperienceValue = 300 300 300 300 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = PalaceSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_TECHNOLOGY GARRISONABLE_UNTIL_DESTROYED IMMUNE_TO_CAPTURE MP_COUNT_FOR_VICTORY SCORE_CREATE FS_ADVANCED_TECH Body = StructureBody ModuleTag_04 MaxHealth = 3000.0 InitialHealth = 3000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 3200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = USER_1 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ProductionUpdate ModuleTag_05 ; nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_SmallStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureMediumDeath End Behavior = GarrisonContain ModuleTag_10 ContainMax = 5 EnterSound = GarrisonEnter ExitSound = GarrisonExit ImmuneToClearBuildingAttacks = Yes End Behavior = FlammableUpdate ModuleTag_11 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = RebuildHoleExposeDie ModuleTag_06 HoleName = GLAHolePalace HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = TransitionDamageFX ModuleTag_12 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 43.0 GeometryMinorRadius = 58.0 GeometryHeight = 30.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Chem_GLAHolePalace Chem_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED RUBBLE Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBPalace_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Flame01 FireBurningBarricade01 End ConditionState = DAMAGED REALLYDAMAGED Model = UBPalace_R ParticleSysBone = Smoke01 SmolderingSmoke End End End ;------------------------------------------------------------------------------ Object Chem_GLASupplyStash ; *** ART Parameters *** SelectPortrait = SUSupplyCenter_L ButtonImage = SUSupplyCenter UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBSupply ParticleSysBone = Smoke01 SteamVent Animation = UBSupply.UBSupply AnimationMode = LOOP End ConditionState = DAMAGED Model = UBSupply_D ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_D.UBSupply_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBSupply_E ParticleSysBone = Smoke01 SteamVent End ConditionState = GARRISONED Model = UBSpplyEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG.UBSpplyEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBSpplyEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_D.UBSpplyEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBSpplyEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_E.UBSpplyEG_E AnimationMode = LOOP End ; SNOW ConditionState = SNOW Model = UBSupply_S ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_S.UBSupply_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBSupply_DS ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_DS.UBSupply_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBSupply_ES ParticleSysBone = Smoke01 SteamVent End ConditionState = GARRISONED SNOW Model = UBSpplyEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_S.UBSpplyEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBSpplyEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DS.UBSpplyEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBSpplyEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_ES.UBSpplyEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBSupply_N Animation = UBSupply_N.UBSupply_N AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent End ConditionState = DAMAGED NIGHT Model = UBSupply_DN Animation = UBSupply_DN.UBSupply_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBSupply_EN ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire End ConditionState = GARRISONED NIGHT Model = UBSpplyEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_N.UBSpplyEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBSpplyEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DN.UBSpplyEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBSpplyEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_EN.UBSpplyEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBSupply_NS Animation = UBSupply_NS.UBSupply_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent End ConditionState = DAMAGED NIGHT SNOW Model = UBSupply_DNS Animation = UBSupply_DNS.UBSupply_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBSupply_ENS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire End ConditionState = GARRISONED SNOW NIGHT Model = UBSpplyEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_NS.UBSpplyEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW NIGHT Model = UBSpplyEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DNS.UBSpplyEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW NIGHT Model = UBSpplyEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_ENS.UBSpplyEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply Animation = UBSupply.UBSupply AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBSupply_D Animation = UBSupply_D.UBSupply_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBSupply_E ;Animation = UBSupply_E.UBSupply_E ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBSupply_N Animation = UBSupply_N.UBSupply_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBSupply_DN Animation = UBSupply_DN.UBSupply_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBSupply_EN ;Animation = UBSupply_EN.UBSupply_EN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBSupply_S Animation = UBSupply_S.UBSupply_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBSupply_DS Animation = UBSupply_DS.UBSupply_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBSupply_ES ;Animation = UBSupply_ES.UBSupply_ES ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBSupply_NS Animation = UBSupply_NS.UBSupply_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBSupply_DNS Animation = UBSupply_DNS.UBSupply_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBSupply_ENS ;Animation = UBSupply_ENS.UBSupply_ENS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:SupplyStash Side = GLAToxinGeneral EditorSorting = STRUCTURE BuildCost = 1500 RefundValue = 650 ; With nothing (or zero) listed, we sell for half price. BuildTime = 10.0 ; in seconds EnergyProduction = 0 CommandSet = Chem_GLASupplyStashCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = SupplyCenterGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CASH_GENERATOR CAPTURABLE AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE CANNOT_BUILD_NEAR_SUPPLIES FS_SUPPLY_CENTER IGNORE_DOCKING_BONES Body = StructureBody ModuleTag_04 MaxHealth = 2000.0 InitialHealth = 2000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = SupplyCenterCreate ModuleTag_05 ;nothing End Behavior = RebuildHoleExposeDie ModuleTag_06 HoleName = GLAHoleSupplyStash HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_SmallStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_10 ; nothing End Behavior = SupplyCenterProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 36.0 Y: 0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = SpawnBehavior ModuleTag_12 SpawnNumber = 1 SpawnReplaceDelay = 9999 SpawnTemplateName = Chem_GLAInfantryWorker OneShot = Yes CanReclaimOrphans = No SlavesHaveFreeWill = Yes End Behavior = SupplyCenterDockUpdate ModuleTag_13 AllowsPassthrough = No ;You can't drive through this guy while docking. Use this when the dock points are all outside NumberApproachPositions = -1 ; This is a Boneless dock, so this means infinite can approach End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_16 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End ;Dont forget to edit the GLA Hole geometry for this object too Geometry = BOX GeometryMajorRadius = 36.0 GeometryMinorRadius = 35.0 GeometryHeight = 30.0 GeometryIsSmall = No ;FactoryExtraBibWidth= 1.0 ; extra placement border. Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Chem_GLAHoleSupplyStash Chem_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED RUBBLE Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBSupply_R ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke End ConditionState = DAMAGED REALLYDAMAGED RUBBLE Model = UBSupply_R ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke End End End ;------------------------------------------------------------------------------ Object Chem_FakeGLASupplyStash ; *** ART Parameters *** SelectPortrait = SUSupplyCenter_L ButtonImage = SUSupplyCenter UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBSupply ParticleSysBone = Smoke01 SteamVent Animation = UBSupply.UBSupply AnimationMode = LOOP End ConditionState = DAMAGED Model = UBSupply_D ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_D.UBSupply_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBSupply_E ParticleSysBone = Smoke01 SteamVent End ConditionState = GARRISONED Model = UBSpplyEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG.UBSpplyEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBSpplyEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_D.UBSpplyEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBSpplyEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_E.UBSpplyEG_E AnimationMode = LOOP End ; SNOW ConditionState = SNOW Model = UBSupply_S ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_S.UBSupply_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBSupply_DS ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_DS.UBSupply_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBSupply_ES ParticleSysBone = Smoke01 SteamVent End ConditionState = GARRISONED SNOW Model = UBSpplyEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_S.UBSpplyEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBSpplyEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DS.UBSpplyEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBSpplyEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_ES.UBSpplyEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBSupply_N Animation = UBSupply_N.UBSupply_N AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent End ConditionState = DAMAGED NIGHT Model = UBSupply_DN Animation = UBSupply_DN.UBSupply_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBSupply_EN ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire End ConditionState = GARRISONED NIGHT Model = UBSpplyEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_N.UBSpplyEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBSpplyEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DN.UBSpplyEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBSpplyEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_EN.UBSpplyEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBSupply_NS Animation = UBSupply_NS.UBSupply_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent End ConditionState = DAMAGED NIGHT SNOW Model = UBSupply_DNS Animation = UBSupply_DNS.UBSupply_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBSupply_ENS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire End ConditionState = GARRISONED SNOW NIGHT Model = UBSpplyEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_S.UBSpplyEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW NIGHT Model = UBSpplyEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DNS.UBSpplyEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW NIGHT Model = UBSpplyEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_ENS.UBSpplyEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply Animation = UBSupply.UBSupply AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBSupply_D Animation = UBSupply_D.UBSupply_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBSupply_E ;Animation = UBSupply_E.UBSupply_E ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBSupply_N Animation = UBSupply_N.UBSupply_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBSupply_DN Animation = UBSupply_DN.UBSupply_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBSupply_EN ;Animation = UBSupply_EN.UBSupply_EN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBSupply_S Animation = UBSupply_S.UBSupply_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBSupply_DS Animation = UBSupply_DS.UBSupply_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBSupply_ES ;Animation = UBSupply_ES.UBSupply_ES ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBSupply_NS Animation = UBSupply_NS.UBSupply_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBSupply_DNS Animation = UBSupply_DNS.UBSupply_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBSupply_ENS ;Animation = UBSupply_ENS.UBSupply_ENS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:SupplyStash Side = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_GLACommandCenter End BuildCost = 375 BuildTime = 5.0 ; in seconds EnergyProduction = 0 CommandSet = FakeGLASupplyStashCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 50 50 50 50 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = SupplyCenterGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE Body = StructureBody ModuleTag_04 MaxHealth = 250.0 InitialHealth = 250.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 450 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_SmallStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_10 ; nothing End Behavior = AIUpdateInterface ModuleTag_11 AutoAcquireEnemiesWhenIdle = No End Behavior = SlowDeathBehavior ModuleTag_12 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 0 Weapon = FINAL FakeStructureDetonationWeapon End Behavior = DestroyDie ModuleTag_SlowDeathException RequiredStatus = UNDER_CONSTRUCTION End Behavior = ReplaceObjectUpgrade ModuleTag_13 ReplaceObject = Chem_GLASupplyStash TriggeredBy = Upgrade_BecomeRealGLASupplyStash End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_16 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End ;Dont forget to edit the GLA Hole geometry for this object too Geometry = BOX GeometryMajorRadius = 36.0 GeometryMinorRadius = 35.0 GeometryHeight = 30.0 GeometryIsSmall = No ;FactoryExtraBibWidth= 1.0 ; extra placement border. Shadow = SHADOW_VOLUME ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure. ShadowSizeX = 105 ShadowSizeY = 105 BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;GLA Barracks Object Chem_GLABarracks ; *** ART Parameters *** SelectPortrait = SUBarracks_L ButtonImage = SUBarracks UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBBARRACKS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks.UBBarracks AnimationMode = LOOP End ConditionState = DAMAGED Model = UBBarracks_D ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Flame01 FireFactionMedium Animation = UBBarracks_D.UBBarracks_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBBarracks_E ParticleSysBone = Smoke01 ChimneySmokeSmall ; ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Smoke04 SmokeFactionLarge ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Flame01 FireFactionMedium ; ParticleSysBone = Flame02 FireFactionLarge Animation = UBBarracks_E.UBBarracks_E AnimationMode = LOOP End ConditionState = GARRISONED Model = UBBarrksEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG.UBBarrksEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBBarrksEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_D.UBBarrksEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBBarrksEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_E.UBBarrksEG_E AnimationMode = LOOP End ; day ConditionState = SNOW Model = UBBARRACKS_S ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_S.UBBarracks_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBBarracks_DS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Flame01 FireFactionMedium Animation = UBBarracks_DS.UBBarracks_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBBarracks_ES ParticleSysBone = Smoke01 ChimneySmokeSmall ; ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Smoke04 SmokeFactionLarge ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Flame01 FireFactionMedium ; ParticleSysBone = Flame02 FireFactionLarge Animation = UBBarracks_ES.UBBarracks_ES AnimationMode = LOOP End ConditionState = GARRISONED SNOW Model = UBBarrksEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_S.UBBarrksEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBBarrksEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DS.UBBarrksEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBBarrksEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_ES.UBBarrksEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBBARRACKS_N ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_N.UBBarracks_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBBarracks_DN ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Flame01 GLAPowerPlantFlame Animation = UBBarracks_DN.UBBarracks_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBBarracks_EN ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Smoke04 GLAPowerPlantSmoke ParticleSysBone = Smoke05 GLAPowerPlantSmoke ParticleSysBone = Flame01 FireSmallContinuous ParticleSysBone = Flame02 GLAPowerPlantFlame Animation = UBBarracks_EN.UBBarracks_EN AnimationMode = LOOP End ConditionState = GARRISONED NIGHT Model = UBBarrksEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_N.UBBarrksEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBBarrksEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DN.UBBarrksEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBBarrksEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_EN.UBBarrksEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBBARRACKS_NS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_NS.UBBarracks_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = UBBarracks_DNS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Flame01 GLAPowerPlantFlame Animation = UBBarracks_DNS.UBBarracks_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBBarracks_ENS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Smoke04 GLAPowerPlantSmoke ParticleSysBone = Smoke05 GLAPowerPlantSmoke ParticleSysBone = Flame01 FireSmallContinuous ParticleSysBone = Flame02 GLAPowerPlantFlame Animation = UBBarracks_ENS.UBBarracks_ENS AnimationMode = LOOP End ConditionState = GARRISONED NIGHT SNOW Model = UBBarrksEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_NS.UBBarrksEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBBarrksEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DNS.UBBarrksEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBBarrksEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_ENS.UBBarrksEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks Animation = UBBarracks.UBBarracks AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBBarracks_D Animation = UBBarracks_D.UBBarracks_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBBarracks_E Animation = UBBarracks_E.UBBarracks_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBBarracks_N Animation = UBBarracks_N.UBBarracks_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBBarracks_DN Animation = UBBarracks_DN.UBBarracks_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBBarracks_EN Animation = UBBarracks_EN.UBBarracks_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBBarracks_S Animation = UBBarracks_S.UBBarracks_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBBarracks_DS Animation = UBBarracks_DS.UBBarracks_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBBarracks_ES Animation = UBBarracks_ES.UBBarracks_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBBarracks_NS Animation = UBBarracks_NS.UBBarracks_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBBarracks_DNS Animation = UBBarracks_DNS.UBBarracks_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBBarracks_ENS Animation = UBBarracks_ENS.UBBarracks_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke ParticleSysBone = Smoke06 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke ParticleSysBone = Smoke06 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke ParticleSysBone = Smoke06 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke ParticleSysBone = Smoke06 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:Barracks Side = GLAToxinGeneral EditorSorting = STRUCTURE BuildCost = 500 BuildTime = 10.0 ; in seconds EnergyProduction = 0 CommandSet = Chem_GLABarracksCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 100 100 100 100 ; Experience point value at each level Prerequisites ; Object = Chem_GLASupplyStash End ; *** AUDIO Parameters *** VoiceSelect = BarracksGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE HEAL_PAD CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE FS_BARRACKS Body = StructureBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = HealContain ModuleTag_05 ContainMax = 10 ;way bigger than the # of objects we can have TimeForFullHeal = 2000 ;(in milliseconds) AllowInsideKindOf = INFANTRY AllowAlliesInside = Yes AllowNeutralInside = No AllowEnemiesInside = No End Behavior = RebuildHoleExposeDie ModuleTag_06 HoleName = GLAHoleBarracks HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_10 ; nothing End Behavior = DefaultProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 42.0 Y: 0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = FlammableUpdate ModuleTag_13 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_16 ;-------------DESIGNED FOR SMALL MEDIUM FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = BOX GeometryMajorRadius = 42.0 GeometryMinorRadius = 52.0 GeometryHeight = 20.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;Fake GLA Barracks Object Chem_FakeGLABarracks ; *** ART Parameters *** SelectPortrait = SUBarracks_L ButtonImage = SUBarracks UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBBARRACKS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks.UBBarracks AnimationMode = LOOP End ConditionState = DAMAGED Model = UBBarracks_D ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Flame01 FireFactionMedium Animation = UBBarracks_D.UBBarracks_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBBarracks_E ParticleSysBone = Smoke01 ChimneySmokeSmall ; ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Smoke04 SmokeFactionLarge ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Flame01 FireFactionMedium ; ParticleSysBone = Flame02 FireFactionLarge Animation = UBBarracks_E.UBBarracks_E AnimationMode = LOOP End ConditionState = GARRISONED Model = UBBarrksEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG.UBBarrksEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBBarrksEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_D.UBBarrksEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBBarrksEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_E.UBBarrksEG_E AnimationMode = LOOP End ; day ConditionState = SNOW Model = UBBARRACKS_S ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_S.UBBarracks_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBBarracks_DS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Flame01 FireFactionMedium Animation = UBBarracks_DS.UBBarracks_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBBarracks_ES ParticleSysBone = Smoke01 ChimneySmokeSmall ; ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Smoke04 SmokeFactionLarge ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Flame01 FireFactionMedium ; ParticleSysBone = Flame02 FireFactionLarge Animation = UBBarracks_ES.UBBarracks_ES AnimationMode = LOOP End ConditionState = GARRISONED SNOW Model = UBBarrksEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_S.UBBarrksEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBBarrksEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DS.UBBarrksEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBBarrksEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_ES.UBBarrksEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBBARRACKS_N ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_N.UBBarracks_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBBarracks_DN ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Flame01 GLAPowerPlantFlame Animation = UBBarracks_DN.UBBarracks_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBBarracks_EN ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Smoke04 GLAPowerPlantSmoke ParticleSysBone = Smoke05 GLAPowerPlantSmoke ParticleSysBone = Flame01 FireSmallContinuous ParticleSysBone = Flame02 GLAPowerPlantFlame Animation = UBBarracks_EN.UBBarracks_EN AnimationMode = LOOP End ConditionState = GARRISONED NIGHT Model = UBBarrksEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_N.UBBarrksEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBBarrksEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DN.UBBarrksEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBBarrksEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_EN.UBBarrksEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBBARRACKS_NS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_NS.UBBarracks_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = UBBarracks_DNS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Flame01 GLAPowerPlantFlame Animation = UBBarracks_DNS.UBBarracks_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBBarracks_ENS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Smoke04 GLAPowerPlantSmoke ParticleSysBone = Smoke05 GLAPowerPlantSmoke ParticleSysBone = Flame01 FireSmallContinuous ParticleSysBone = Flame02 GLAPowerPlantFlame Animation = UBBarracks_ENS.UBBarracks_ENS AnimationMode = LOOP End ConditionState = GARRISONED NIGHT SNOW Model = UBBarrksEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_NS.UBBarrksEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBBarrksEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DNS.UBBarrksEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBBarrksEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_ENS.UBBarrksEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks Animation = UBBarracks.UBBarracks AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBBarracks_D Animation = UBBarracks_D.UBBarracks_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBBarracks_E Animation = UBBarracks_E.UBBarracks_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBBarracks_N Animation = UBBarracks_N.UBBarracks_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBBarracks_DN Animation = UBBarracks_DN.UBBarracks_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBBarracks_EN Animation = UBBarracks_EN.UBBarracks_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBBarracks_S Animation = UBBarracks_S.UBBarracks_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBBarracks_DS Animation = UBBarracks_DS.UBBarracks_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBBarracks_ES Animation = UBBarracks_ES.UBBarracks_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBBarracks_NS Animation = UBBarracks_NS.UBBarracks_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBBarracks_DNS Animation = UBBarracks_DNS.UBBarracks_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBBarracks_ENS Animation = UBBarracks_ENS.UBBarracks_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke ParticleSysBone = Smoke06 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke ParticleSysBone = Smoke06 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke ParticleSysBone = Smoke06 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke ParticleSysBone = Smoke06 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:Barracks Side = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_GLACommandCenter End BuildCost = 125 BuildTime = 5.0 ; in seconds EnergyProduction = 0 CommandSet = FakeGLABarracksCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 25 25 25 25 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = BarracksGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE Body = StructureBody ModuleTag_04 MaxHealth = 125.0 InitialHealth = 125.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 325 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = AIUpdateInterface ModuleTag_06 AutoAcquireEnemiesWhenIdle = No End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_10 ; nothing End Behavior = FlammableUpdate ModuleTag_11 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_12 ;-------------DESIGNED FOR SMALL MEDIUM FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = SlowDeathBehavior ModuleTag_13 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 0 Weapon = FINAL FakeStructureDetonationWeapon End Behavior = DestroyDie ModuleTag_SlowDeathException RequiredStatus = UNDER_CONSTRUCTION End Behavior = ReplaceObjectUpgrade ModuleTag_14 ReplaceObject = Chem_GLABarracks TriggeredBy = Upgrade_BecomeRealGLABarracks End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Geometry = BOX GeometryMajorRadius = 42.0 GeometryMinorRadius = 52.0 GeometryHeight = 20.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure. ShadowSizeX = 120 ShadowSizeY = 110 BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Chem_GLAHoleBarracks Chem_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBBarracks_R ParticleSysBone = FLame01 FireSmallContinuous ParticleSysBone = Flame02 FireSmallContinuous ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End ConditionState = DAMAGED REALLYDAMAGED Model = UBBarracks_R ParticleSysBone = FLame01 FireSmallContinuous ParticleSysBone = Flame02 FireSmallContinuous ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End End End ;------------------------------------------------------------------------------ ;GLA Arms Dealer Object Chem_GLAArmsDealer ; *** ART Parameters *** SelectPortrait = SUArmsDealer_L ButtonImage = SUArmsDealer UpgradeCameo1 = Upgrade_GLAFortifiedStructure ; ----------------- Main Building ------------------- Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBArmDeal Animation = UBArmDeal.UBArmDeal AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ;damaged ConditionState = DAMAGED Model = UBArmDeal_D Animation = UBArmDeal_D.UBArmDeal_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmolderingSmoke ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 SmolderingFire ; ParticleSysBone = Fire06 SmolderingFire End ;really damaged ConditionState = REALLYDAMAGED RUBBLE Model = UBArmDeal_E Animation = UBArmDeal_E.UBArmDeal_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Smoke07 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 FireFactionLarge ; ParticleSysBone = Fire06 SmolderingFire ; ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED Model = UBArmDlEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG.UBArmDlEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBArmDlEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_D.UBArmDlEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBArmDlEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_E.UBArmDlEG_E AnimationMode = LOOP End ; snow ConditionState = SNOW Model = UBArmDeal_S Animation = UBArmDeal_S.UBArmDeal_S AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ;damaged ConditionState = DAMAGED SNOW Model = UBArmDeal_DS Animation = UBArmDeal_DS.UBArmDeal_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmolderingSmoke ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 SmolderingFire ; ParticleSysBone = Fire06 SmolderingFire End ;really damaged ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBArmDeal_ES Animation = UBArmDeal_ES.UBArmDeal_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Smoke07 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 FireFactionLarge ; ParticleSysBone = Fire06 SmolderingFire ; ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED SNOW Model = UBArmDlEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_S.UBArmDlEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBArmDlEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DS.UBArmDlEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBArmDlEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_ES.UBArmDlEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBArmDeal_N Animation = UBArmDeal_N.UBArmDeal_N AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ConditionState = DAMAGED NIGHT Model = UBArmDeal_DN Animation = UBArmDeal_DN.UBArmDeal_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBArmDeal_EN Animation = UBArmDeal_EN.UBArmDeal_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED NIGHT Model = UBArmDlEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_N.UBArmDlEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBArmDlEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DN.UBArmDlEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBArmDlEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_EN.UBArmDlEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBArmDeal_NS Animation = UBArmDeal_NS.UBArmDeal_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ConditionState = DAMAGED NIGHT SNOW Model = UBArmDeal_DNS Animation = UBArmDeal_DNS.UBArmDeal_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBArmDeal_ENS Animation = UBArmDeal_ENS.UBArmDeal_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED NIGHT SNOW Model = UBArmDlEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_NS.UBArmDlEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBArmDlEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DNS.UBArmDlEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBArmDlEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_ENS.UBArmDlEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal Animation = UBArmDeal.UBArmDeal AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBArmDeal_D Animation = UBArmDeal_D.UBArmDeal_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBArmDeal_E Animation = UBArmDeal_E.UBArmDeal_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBArmDeal_N Animation = UBArmDeal_N.UBArmDeal_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBArmDeal_DN Animation = UBArmDeal_DN.UBArmDeal_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBArmDeal_EN Animation = UBArmDeal_EN.UBArmDeal_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBArmDeal_S Animation = UBArmDeal_S.UBArmDeal_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBArmDeal_DS Animation = UBArmDeal_DS.UBArmDeal_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBArmDeal_ES Animation = UBArmDeal_ES.UBArmDeal_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBArmDeal_NS Animation = UBArmDeal_NS.UBArmDeal_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBArmDeal_DNS Animation = UBArmDeal_DNS.UBArmDeal_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBArmDeal_ENS Animation = UBArmDeal_ENS.UBArmDeal_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4S Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4SN Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBArmDeal_A4S ; @todo srj -- anim missing Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBArmDeal_A4SN ; @todo srj -- anim missing Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBArmDeal_A4S ; @todo srj -- anim missing Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBArmDeal_A4SN Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ----------------- the door ----------------------- Draw = W3DModelDraw ModuleTag_04 DefaultConditionState Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = SNOW NIGHT DOOR_1_OPENING ConditionState = DOOR_1_OPENING DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_CLOSING Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = SNOW NIGHT DOOR_1_CLOSING ConditionState = DOOR_1_CLOSING DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_OPEN Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN DAMAGED ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBArmDeal_A7D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBArmDeal_A7E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:ArmsDealer Side = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_GLASupplyStash End BuildCost = 2500 BuildTime = 15.0 ; in seconds EnergyProduction = 0 CommandSet = Chem_GLAArmsDealerCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = WarFactoryGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE REPAIR_PAD CAPTURABLE FS_TECHNOLOGY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE FS_FACTORY FS_WARFACTORY Body = StructureBody ModuleTag_05 MaxHealth = 2000.0 InitialHealth = 2000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = RebuildHoleExposeDie ModuleTag_06 HoleName = GLAHoleArmsDealer HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureMediumDeath End Behavior = ProductionUpdate ModuleTag_10 NumDoorAnimations = 1 DoorOpeningTime = 2000 ;in mSeconds DoorWaitOpenTime = 3000 ;in mSeconds DoorCloseTime = 2000 ;in mSeconds ConstructionCompleteDuration = 1500 ;in mSeconds End Behavior = DefaultProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: -20.0 Y:-15.0 Z:0.0 NaturalRallyPoint = X: 40.0 Y:-15.0 Z:0.0 ;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RepairDockUpdate ModuleTag_12 TimeForFullHeal = 5000 ;(in milliseconds) NumberApproachPositions = 5 End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_31 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 40.0 GeometryMinorRadius = 62.0 GeometryHeight = 25.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Chem_GLAHoleArmsDealer Chem_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBArmDeal_R ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ConditionState = DAMAGED REALLYDAMAGED Model = UBArmDeal_R ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End End End ;------------------------------------------------------------------------------ ;GLA Arms Dealer Object Chem_FakeGLAArmsDealer ; *** ART Parameters *** SelectPortrait = SUArmsDealer_L ButtonImage = SUArmsDealer UpgradeCameo1 = Upgrade_GLAFortifiedStructure ; ----------------- Main Building ------------------- Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBArmDeal Animation = UBArmDeal.UBArmDeal AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ;damaged ConditionState = DAMAGED Model = UBArmDeal_D Animation = UBArmDeal_D.UBArmDeal_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmolderingSmoke ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 SmolderingFire ; ParticleSysBone = Fire06 SmolderingFire End ;really damaged ConditionState = REALLYDAMAGED RUBBLE Model = UBArmDeal_E Animation = UBArmDeal_E.UBArmDeal_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Smoke07 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 FireFactionLarge ; ParticleSysBone = Fire06 SmolderingFire ; ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED Model = UBArmDlEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG.UBArmDlEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBArmDlEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_D.UBArmDlEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBArmDlEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_E.UBArmDlEG_E AnimationMode = LOOP End ; snow ConditionState = SNOW Model = UBArmDeal_S Animation = UBArmDeal_S.UBArmDeal_S AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ;damaged ConditionState = DAMAGED SNOW Model = UBArmDeal_DS Animation = UBArmDeal_DS.UBArmDeal_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmolderingSmoke ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 SmolderingFire ; ParticleSysBone = Fire06 SmolderingFire End ;really damaged ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBArmDeal_ES Animation = UBArmDeal_ES.UBArmDeal_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Smoke07 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 FireFactionLarge ; ParticleSysBone = Fire06 SmolderingFire ; ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED SNOW Model = UBArmDlEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_S.UBArmDlEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBArmDlEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DS.UBArmDlEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBArmDlEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_ES.UBArmDlEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBArmDeal_N Animation = UBArmDeal_N.UBArmDeal_N AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ConditionState = DAMAGED NIGHT Model = UBArmDeal_DN Animation = UBArmDeal_DN.UBArmDeal_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBArmDeal_EN Animation = UBArmDeal_EN.UBArmDeal_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED NIGHT Model = UBArmDlEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_N.UBArmDlEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBArmDlEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DN.UBArmDlEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBArmDlEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_EN.UBArmDlEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBArmDeal_NS Animation = UBArmDeal_NS.UBArmDeal_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ConditionState = DAMAGED NIGHT SNOW Model = UBArmDeal_DNS Animation = UBArmDeal_DNS.UBArmDeal_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBArmDeal_ENS Animation = UBArmDeal_ENS.UBArmDeal_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED NIGHT SNOW Model = UBArmDlEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_NS.UBArmDlEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBArmDlEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DNS.UBArmDlEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBArmDlEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_ENS.UBArmDlEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal Animation = UBArmDeal.UBArmDeal AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBArmDeal_D Animation = UBArmDeal_D.UBArmDeal_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBArmDeal_E Animation = UBArmDeal_E.UBArmDeal_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBArmDeal_N Animation = UBArmDeal_N.UBArmDeal_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBArmDeal_DN Animation = UBArmDeal_DN.UBArmDeal_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBArmDeal_EN Animation = UBArmDeal_EN.UBArmDeal_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBArmDeal_S Animation = UBArmDeal_S.UBArmDeal_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBArmDeal_DS Animation = UBArmDeal_DS.UBArmDeal_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBArmDeal_ES Animation = UBArmDeal_ES.UBArmDeal_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBArmDeal_NS Animation = UBArmDeal_NS.UBArmDeal_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBArmDeal_DNS Animation = UBArmDeal_DNS.UBArmDeal_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBArmDeal_ENS Animation = UBArmDeal_ENS.UBArmDeal_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4S Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4SN Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBArmDeal_A4S ; @todo srj -- anim missing Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBArmDeal_A4SN ; @todo srj -- anim missing Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBArmDeal_A4S ; @todo srj -- anim missing Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBArmDeal_A4SN Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ----------------- the door ----------------------- Draw = W3DModelDraw ModuleTag_04 DefaultConditionState Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = SNOW NIGHT DOOR_1_OPENING ConditionState = DOOR_1_OPENING DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_CLOSING Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = SNOW NIGHT DOOR_1_CLOSING ConditionState = DOOR_1_CLOSING DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_OPEN Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN DAMAGED ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBArmDeal_A7D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBArmDeal_A7E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:ArmsDealer Side = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_GLASupplyStash End BuildCost = 625 BuildTime = 10.0 ; in seconds EnergyProduction = 0 CommandSet = FakeGLAArmsDealerCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 50 50 50 50 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = WarFactoryGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE Body = StructureBody ModuleTag_05 MaxHealth = 500.0 InitialHealth = 500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 700 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureMediumDeath End Behavior = AIUpdateInterface ModuleTag_10 AutoAcquireEnemiesWhenIdle = No End Behavior = ProductionUpdate ModuleTag_11 ; nothing End Behavior = SlowDeathBehavior ModuleTag_12 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 0 Weapon = FINAL FakeStructureDetonationWeapon End Behavior = DestroyDie ModuleTag_SlowDeathException RequiredStatus = UNDER_CONSTRUCTION End Behavior = ReplaceObjectUpgrade ModuleTag_13 ReplaceObject = Chem_GLAArmsDealer TriggeredBy = Upgrade_BecomeRealGLAArmsDealer End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_31 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 40.0 GeometryMinorRadius = 62.0 GeometryHeight = 25.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure. ShadowSizeX = 127 ShadowSizeY = 144 BuildCompletion = PLACED_BY_PLAYER End ; ----------------------------------------------------------------------------- Object Chem_GLASneakAttackTunnelNetworkStart ; *** ART Parameters *** SelectPortrait = SUTunnel_L ButtonImage = SUTunnel Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;***NONE ConditionState = NONE Model = UBSNKATK_1ANM Animation = UBSNKATK_1ANM.UBSNKATK_1ANM AnimationMode = ONCE ParticleSysBone = DIRT SneakAttackCrackDust ;;;ParticleSysBone = DIRT SneakAttackDirt ;steveM commented out 8.4.03 ParticleSysBone = DIRT SneakAttackCrackDust1 ParticleSysBone = DIRT SneakAttackDebris ParticleSysBone = DIRT SneakAttackDebris0 ParticleSysBone = DIRT SneakAttackDebris1 ParticleSysBone = DIRT SneakAttackCrackDust0 ParticleSysBone = DIRT SneakAttackSteamVent End ; ConditionState ; Model = UBSNKATK_1ANM ; Animation = UBSNKATK_1ANM.UBSNKATK_1ANM ; AnimationMode = ONCE ; End ConditionState = DAMAGED Model = UBSNATK_E ParticleSysBone = DIRT SneakAttackCrackDust ParticleSysBone = DIRT SneakAttackDirt ParticleSysBone = DIRT SneakAttackCrackDust1 ParticleSysBone = DIRT SneakAttackDebris ParticleSysBone = DIRT SneakAttackDebris0 ParticleSysBone = DIRT SneakAttackDebris1 ParticleSysBone = DIRT SneakAttackCrackDust0 ParticleSysBone = DIRT SneakAttackSteamVent End ConditionState = REALLYDAMAGED RUBBLE Model = UBSNATK_R End ConditionState = SNOW Model = UBSNATK_Sanm Animation = UBSNATK_Sanm.UBSNATK_Sanm AnimationMode = ONCE ParticleSysBone = DIRT SneakAttackCrackDustSnow ParticleSysBone = DIRT SneakAttackDirtSnow ParticleSysBone = DIRT SneakAttackCrackDust1Snow ParticleSysBone = DIRT SneakAttackDebrisSnow ParticleSysBone = DIRT SneakAttackDebris0Snow ParticleSysBone = DIRT SneakAttackDebris1Snow ParticleSysBone = DIRT SneakAttackCrackDust0Snow ParticleSysBone = DIRT SneakAttackSteamVent End ConditionState = DAMAGED SNOW Model = UBSNATK_ES ParticleSysBone = DIRT SneakAttackCrackDustSnow ParticleSysBone = DIRT SneakAttackDirtSnow ParticleSysBone = DIRT SneakAttackCrackDust1Snow ParticleSysBone = DIRT SneakAttackDebrisSnow ParticleSysBone = DIRT SneakAttackDebris0Snow ParticleSysBone = DIRT SneakAttackDebris1Snow ParticleSysBone = DIRT SneakAttackCrackDust0Snow ParticleSysBone = DIRT SneakAttackSteamVent End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBSNATK_RS ParticleSysBone = DIRT SneakAttackCrackDustSnow ParticleSysBone = DIRT SneakAttackDirtSnow ParticleSysBone = DIRT SneakAttackCrackDust1Snow ParticleSysBone = DIRT SneakAttackDebrisSnow ParticleSysBone = DIRT SneakAttackDebris0Snow ParticleSysBone = DIRT SneakAttackDebris1Snow ParticleSysBone = DIRT SneakAttackCrackDust0Snow ParticleSysBone = DIRT SneakAttackSteamVent End ConditionState = NIGHT Model = UBSNKATK_1ANM Animation = UBSNKATK_1ANM.UBSNKATK_1ANM AnimationMode = ONCE End ConditionState = DAMAGED NIGHT Model = UBSNATK_E End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBSNATK_R End ConditionState = SNOW NIGHT Model = UBSNATK_Sanm Animation = UBSNATK_Sanm.UBSNATK_Sanm AnimationMode = ONCE End ConditionState = DAMAGED SNOW NIGHT Model = UBSNATK_ES End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = UBSNATK_RS End End PlacementViewAngle = -44 ; ***DESIGN parameters *** DisplayName = OBJECT:TunnelNetwork Side = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites ;None End EnergyProduction = 0 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = DamageFX_Empty End ExperienceValue = 100 100 100 100 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = TunnelNetworkSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy SoundEnter = GarrisonEnter SoundExit = GarrisonExit ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE IMMOBILE IMMUNE_TO_CAPTURE Body = StructureBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = DestroyDie ModuleTag_10 ;nothing End Behavior = CreateObjectDie ModuleTag_11 CreationList = OCL_CreateSneakAttackTunnel End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = LifetimeUpdate ModuleTag_16 MinLifetime = 5000 ; min lifetime in msec MaxLifetime = 5000 ; max lifetime in msec End Behavior = FireWeaponUpdate ModuleTag_17 Weapon = SneakAttackShockwaveWeaponSmall InitialDelay = 10; End Behavior = FireWeaponUpdate ModuleTag_18 Weapon = SneakAttackShockwaveWeaponBig InitialDelay = 1000; End Behavior = FireWeaponUpdate ModuleTag_19 Weapon = SneakAttackShockwaveWeaponBig InitialDelay = 2500; End ; IMPORTANT: DO NOT GIVE THIS OBJECT ANY EXTENTS -ML Geometry = CYLINDER GeometryMajorRadius = 25.0 GeometryHeight = 20.0 GeometryIsSmall = No FactoryExtraBibWidth = 25.0 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ; ----------------------------------------------------------------------------- Object Chem_GLASneakAttackTunnelNetwork ; *** ART Parameters *** SelectPortrait = SUSneakAttack_L ButtonImage = SUSneakAttack Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;***DEFAULT ;DefaultConditionState ConditionState Model = UBSNATK_1 End ConditionState = DAMAGED Model = UBSNATK_E End ConditionState = REALLYDAMAGED RUBBLE Model = UBSNATK_R ;ParticleSysBone = Mound SteamVent End ConditionState = SNOW Model = UBSNATK_S End ConditionState = DAMAGED SNOW Model = UBSNATK_ES End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBSNATK_RS ;ParticleSysBone = Mound SteamVent End ConditionState = NIGHT Model = UBSNATK_N End ConditionState = DAMAGED NIGHT Model = UBSNATK_E End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBSNATK_R ;ParticleSysBone = Mound SteamVent End ConditionState = SNOW NIGHT Model = UBSNATK_NS End ConditionState = DAMAGED SNOW NIGHT Model = UBSNATK_ES End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = UBSNATK_RS ;ParticleSysBone = Mound SteamVent End End PlacementViewAngle = -44 ; ***DESIGN parameters *** DisplayName = OBJECT:TunnelNetwork Side = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites ;None End EnergyProduction = 0 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY TunnelNetworkGunDUMMY ;So AI can attack from it in guard mode. End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End CommandSet = GLASneakAttackTunnelCommandSet ExperienceValue = 100 100 100 100 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = TunnelNetworkSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy SoundEnter = GarrisonEnter SoundExit = GarrisonExit ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_BASE_DEFENSE IMMUNE_TO_CAPTURE SCORE_CREATE AUTO_RALLYPOINT Body = StructureBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = StealthDetectorUpdate ModuleTag_13 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 150 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = TunnelContain ModuleTag_05 TimeForFullHeal = 5000 ;(in milliseconds) End Behavior = AIUpdateInterface ModuleTag_AI Turret TurretTurnRate = 180 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes Stealthed; defensive weapon End ;Kris: Removed this module because units exiting the container would extract information from ;the wrong exit interface. Because TunnelContain has the proper information for exiting properly ;we don't need this one. Plus sneak attack tunnels don't produce units anyway. ;Behavior = DefaultProductionExitUpdate ModuleTag_06 ; UnitCreatePoint = X: 5.0 Y: 0.0 Z:0.0 ; NaturalRallyPoint = X: 35.0 Y: 0.0 Z:0.0 ;End Behavior = DestroyDie ModuleTag_10 ;nothing End Behavior = CreateObjectDie ModuleTag_11 CreationList = OCL_ABTunnelNetworkDebris End Behavior = FXListDie ModuleTag_12 DeathFX = FX_StructureSmallDeath End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_17 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = CYLINDER GeometryMajorRadius = 25.0 GeometryHeight = 20.0 GeometryIsSmall = No FactoryExtraBibWidth = 25.0 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;---------------------------------------------------------------------------- Object Chem_GLAInfantryJarmenKell ; *** ART Parameters *** SelectPortrait = SUJermanKell1_L ;NOTE: Asset spelling mistake ButtonImage = SUJermanKell1 UpgradeCameo1 = Upgrade_GLAAPBullets ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; --- idle DefaultConditionState Model = UIHERO_SKN IdleAnimation = UIHERO_SKL.UIHERO_STA 0 21 IdleAnimation = UIHERO_SKL.UIHERO_IDA IdleAnimation = UIHERO_SKL.UIHERO_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX TransitionKey = TRANS_Stand End ConditionState = REALLYDAMAGED IdleAnimation = UIHERO_SKL.UIHERO_ISTA 0 30 IdleAnimation = UIHERO_SKL.UIHERO_IIDA IdleAnimation = UIHERO_SKL.UIHERO_IIDB AnimationMode = ONCE TransitionKey = TRANS_StandInjured End TransitionState = TRANS_Stand TRANS_StandInjured Animation = UIHERO_SKL.UIHERO_ISTAHIT AnimationMode = ONCE End ; --- attack ConditionState = FIRING_A Animation = UIHERO_SKL.UIHERO_ATA AnimationMode = ONCE TransitionKey = TRANS_FiringA AnimationSpeedFactorRange = 1.5 1.5 End ConditionState = BETWEEN_FIRING_SHOTS_A Animation = UIHERO_SKL.UIHERO_STA AnimationMode = ONCE WaitForStateToFinishIfPossible = TRANS_FiringA End AliasConditionState = RELOADING_A ConditionState = FIRING_A REALLYDAMAGED Animation = UIHERO_SKL.UIHERO_IATA2 AnimationMode = ONCE TransitionKey = TRANS_FiringAInjured AnimationSpeedFactorRange = 1.5 1.5 End ConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED Animation = UIHERO_SKL.UIHERO_IATA2 AnimationMode = MANUAL Flags = START_FRAME_LAST WaitForStateToFinishIfPossible = TRANS_FiringAInjured End AliasConditionState = RELOADING_A REALLYDAMAGED TransitionState = TRANS_FiringA TRANS_FiringAInjured Animation = UIHERO_SKL.UIHERO_IATAHIT AnimationMode = ONCE End ; --- moving ConditionState = MOVING Animation = UIHERO_SKL.UIHERO_RNA2 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A ConditionState = MOVING REALLYDAMAGED Animation = UIHERO_SKL.UIHERO_IRNA 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING FIRING_A REALLYDAMAGED AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED AliasConditionState = MOVING RELOADING_A REALLYDAMAGED ; --- cheering ConditionState = SPECIAL_CHEERING Animation = UIHERO_SKL.UIHERO_CHA AnimationMode = LOOP End ConditionState = SPECIAL_CHEERING REALLYDAMAGED Animation = UIHERO_SKL.UIHERO_ICHA AnimationMode = LOOP End ; --- dying ConditionState = DYING Animation = UIHERO_SKL.UIHERO_DTA Animation = UIHERO_SKL.UIHERO_DTB Animation = UIHERO_SKL.UIHERO_IDTA Animation = UIHERO_SKL.UIHERO_IDTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIHERO_SKL.UIHERO_ADTG21 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIHERO_SKL.UIHERO_ADTG22 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIHERO_SKL.UIHERO_ADTG23 AnimationMode = ONCE TransitionKey = None End ; --- falling ConditionState = FREEFALL Animation = UIHERO_SKL.UIHERO_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = UIHERO_SKL.UIHERO_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = UIHERO_SKL.UIHERO_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = UIHERO_SKL.UIHERO_PTD AnimationMode = ONCE End TransitionState = TRANS_Chute TRANS_StandInjured Animation = UIHERO_SKL.UIHERO_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:JarmenKell Side = GLAToxinGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) MaxSimultaneousOfType = 1 WeaponSet Conditions = None Weapon = PRIMARY GLAJarmenKellRifle Weapon = SECONDARY GLAJarmenKellVehiclePilotSniperRifle AutoChooseSources = SECONDARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 200 ShroudClearingRange = 400 Prerequisites Object = Chem_GLABarracks Object = Chem_GLAPalace End BuildCost = 1500 BuildTime = 20.0 ;in seconds ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = GLAInfantryJarmenKellCommandSet ; *** AUDIO Parameters *** VoiceSelect = JarmenKellVoiceSelect VoiceMove = JarmenKellVoiceMove VoiceGuard = JarmenKellVoiceMove VoiceAttack = JarmenKellVoiceAttack VoiceFear = JarmenKellVoiceFear SoundStealthOn = StealthOn SoundStealthOff = StealthOff UnitSpecificSounds VoiceCreate = JarmenKellVoiceCreate VoiceSnipePilot = JarmenKellVoiceSnipe VoiceGarrison = JarmenKellVoiceGarrison VoiceEnter = JarmenKellVoiceMove VoiceEnterHostile = JarmenKellVoiceMove VoiceGetHealed = JarmenKellVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER STEALTH_GARRISON SCORE HERO CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 200.0 InitialHealth = 200.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL JarmenKellLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = StealthUpdate ModuleTag_06 StealthDelay = 2000 ; msec StealthForbiddenConditions = ATTACKING InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes EnemyDetectionEvaEvent = EnemyJarmenKellDetected OwnDetectionEvaEvent = OwnJarmenKellDetected End Behavior = CommandButtonHuntUpdate ModuleTag_07 ; allows use of command button hunt script with this unit. End Behavior = WeaponBonusUpgrade ModuleTag_08 TriggeredBy = Upgrade_GLAAPBullets End ;Hero units can't be squished! ;Behavior = SquishCollide ModuleTag_09 ; ;nothing ;End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_JarmenKellDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_JarmenKellDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_14 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;Tunnel Fanatic ;Now called the RPG Trooper Object Chem_GLAInfantryTunnelDefender ; *** ART Parameters *** SelectPortrait = SURPG_L ButtonImage = SURPG UpgradeCameo1 = Upgrade_GLAAPRockets ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UITunF_SKN IdleAnimation = UITunF_SKL.UITunF_STA 0 20 IdleAnimation = UITunF_SKL.UITunF_IDA IdleAnimation = UITunF_SKL.UITunF_IDB IdleAnimation = UITunF_SKL.UITunF_IDC AnimationMode = ONCE WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = PRIMARY Muzzle WeaponLaunchBone = PRIMARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ;Fixes shooting at the hip. WeaponFireFXBone = SECONDARY Muzzle ;Fixes shooting at the hip. WeaponLaunchBone = SECONDARY Muzzle ;Fixes shooting at the hip. End ConditionState = MOVING Animation = UITunF_SKL.UITunF_WKA 16 Animation = UITunF_SKL.UITunF_WKB 30 Animation = UITunF_SKL.UITunF_WKC 30 Animation = UITunF_SKL.UITunF_RNA 15 Animation = UITunF_SKL.UITunF_RNB 25 AnimationMode = LOOP ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = UITunF_SKL.UITunF_DTA Animation = UITunF_SKL.UITunF_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UITunF_SKL.UITunF_ADTA1 Animation = UITunF_SKL.UITunF_ADTE1 Animation = UITunF_SKL.UITunF_ADTF1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UITunF_SKL.UITunF_ADTA2 Animation = UITunF_SKL.UITunF_ADTE2 Animation = UITunF_SKL.UITunF_ADTF2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UITunF_SKL.UITunF_ADTA3 Animation = UITunF_SKL.UITunF_ADTE3 Animation = UITunF_SKL.UITunF_ADTF3 AnimationMode = ONCE TransitionKey = None End ConditionState = FIRING_A Animation = UITunF_SKL.UITunF_ATA AnimationMode = ONCE TransitionKey = TRANS_START_FIRING End AliasConditionState = FIRING_B ConditionState = BETWEEN_FIRING_SHOTS_A Animation = UITunF_SKL.UITunF_STA AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_START_FIRING End AliasConditionState = BETWEEN_FIRING_SHOTS_B AliasConditionState = RELOADING_A AliasConditionState = RELOADING_B ConditionState = SPECIAL_CHEERING Animation = UITUNF_SKL.UITUNF_CHA AnimationMode = LOOP End End ; ***DESIGN parameters *** DisplayName = OBJECT:TunnelDefender Side = GLAToxinGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY Chem_TunnelDefenderRocketWeaponBeta AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT Weapon = SECONDARY Chem_TunnelDefenderRocketWeaponBetaAir PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY Chem_TunnelDefenderRocketWeaponGamma AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT Weapon = SECONDARY Chem_TunnelDefenderRocketWeaponGammaAir PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 400 ; Prerequisites ; Object = Chem_GLATunnelNetwork ; End BuildCost = 300 BuildTime = 5.0 ;in seconds ExperienceValue = 20 20 40 60 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = GLAInfantryTunnelDefenderCommandSet ; *** AUDIO Parameters *** VoiceSelect = RPGTrooperVoiceSelect VoiceMove = RPGTrooperVoiceMove VoiceGuard = RPGTrooperVoiceMove VoiceAttack = RPGTrooperVoiceAttack VoiceFear = RPGTrooperVoiceFear UnitSpecificSounds VoiceCreate = RPGTrooperVoiceCreate VoiceGarrison = RPGTrooperVoiceGarrison VoiceEnter = RPGTrooperVoiceMove VoiceEnterHostile = RPGTrooperVoiceMove VoiceGetHealed = RPGTrooperVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL MissileDefenderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = SquishCollide ModuleTag_06 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RPGTrooperDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RPGTrooperDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_12 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = WeaponSetUpgrade ModuleTag_13 TriggeredBy = Chem_Upgrade_GLAAnthraxGamma End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;***THESE UNITS ARE NOT SELECTABLE ANYMORE! To kill them, you must target ; the stinger site. If the weapon does particular types of damage, it'll ; kill guys inside first, then the site. Object Chem_GLAInfantryStingerSoldier ; *** ART Parameters *** SelectPortrait = SUStinger_L ButtonImage = SUStinger Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UISmsd_SKN IdleAnimation = UISmsd_SKL.UISmsd_STA 0 45 IdleAnimation = UISmsd_SKL.UISmsd_IDA IdleAnimation = UISmsd_SKL.UISmsd_IDB IdleAnimation = UISmsd_SKL.UISmsd_IDC IdleAnimation = UISmsd_SKL.UISmsd_IDD AnimationMode = ONCE WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = PRIMARY Exhaust WeaponLaunchBone = PRIMARY Muzzle WeaponFireFXBone = SECONDARY Exhaust WeaponLaunchBone = SECONDARY Muzzle WaitForStateToFinishIfPossible = TRANS_START_FIRING End AliasConditionState = BETWEEN_FIRING_SHOTS_A AliasConditionState = BETWEEN_FIRING_SHOTS_B AliasConditionState = RELOADING_A AliasConditionState = RELOADING_B ConditionState = MOVING Animation = UISmsd_SKL.UISmsd_WKB 25 AnimationMode = LOOP End ConditionState = DYING Animation = UISmsd_SKL.UISmsd_DTA Animation = UISmsd_SKL.UISmsd_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish End TransitionState = TRANS_Dying TRANS_Flailing Animation = UISmsd_SKL.UISmsd_ADTF1 Animation = UISmsd_SKL.UISmsd_ADTG21 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UISmsd_SKL.UISmsd_ADTF2 Animation = UISmsd_SKL.UISmsd_ADTG22 AnimationMode = LOOP TransitionKey = TRANS_Flailing WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish End ConditionState = DYING EXPLODED_BOUNCING Animation = UISmsd_SKL.UISmsd_ADTF3 Animation = UISmsd_SKL.UISmsd_ADTG23 AnimationMode = ONCE TransitionKey = None WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish End ConditionState = FIRING_A Animation = UISmsd_SKL.UISmsd_ATA AnimationMode = ONCE TransitionKey = TRANS_START_FIRING End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING RELOADING_A ConditionState = FIRING_B Animation = UISmsd_SKL.UISmsd_ATB AnimationMode = ONCE TransitionKey = TRANS_START_FIRINGB End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = MOVING FIRING_B AliasConditionState = MOVING RELOADING_B ConditionState = SPECIAL_CHEERING Animation = UISMSD_SKL.UISMSD_CHA AnimationMode = LOOP End End ; ***DESIGN parameters *** DisplayName = OBJECT:StingerSoldier Side = GLAToxinGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY Chem_StingerMissileWeaponBeta AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT Weapon = SECONDARY Chem_StingerMissileWeaponAirBeta PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY Chem_StingerMissileWeaponGamma AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT Weapon = SECONDARY Chem_StingerMissileWeaponAirGamma PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT End ArmorSet Conditions = None Armor = StingerSoldierArmor ;Extra protection due to being enclosed by the stinger site. DamageFX = None End VisionRange = 400.0 ShroudClearingRange = 400 Prerequisites Object = Chem_GLABarracks End BuildCost = 100 BuildTime = 1.0 ;in seconds CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; CommandSet = Chem_GLAInfantryRebelCommandSet ; *** AUDIO Parameters *** VoiceSelect = StingerSoldierVoiceSelect VoiceMove = StingerSoldierVoiceMove VoiceAttack = StingerSoldierVoiceAttack ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER CLICK_THROUGH SPAWNS_ARE_THE_WEAPONS Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = StealthDetectorUpdate ModuleTag_16 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 200 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes Stealthed ATTACK_BUILDINGS MoodAttackCheckRate = 250 End Locomotor = SET_NORMAL BasicHumanLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = SlavedUpdate ModuleTag_06 ;nothing End ; Behavior = ProneUpdate ModuleTag_07 ; DamageToFramesRatio = 5.0 ; I take 20 damage, I go prone for 100. For this guy, if any of my buds or my building take damage too (I have SlaveUpdate + ProneUpdate) Prone may get cut by itself though ; End Behavior = SquishCollide ModuleTag_08 ;nothing End ;Kris: Cut camo-netting from Chem General ;Behavior = StealthUpdate ModuleTag_09 ; StealthDelay = 2500 ; msec ; StealthForbiddenConditions = ATTACKING USING_ABILITY NO_BLACK_MARKET TAKING_DAMAGE ; MoveThresholdSpeed = 3 ; InnateStealth = No ;Requires upgrade first ; OrderIdleEnemiesToAttackMeUponReveal = Yes ;End ;Behavior = StealthUpgrade ModuleTag_10 ; TriggeredBy = Upgrade_GLACamoNetting ;End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_StingerSoldierDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_StingerSoldierDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_14 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = WeaponSetUpgrade ModuleTag_15 TriggeredBy = Chem_Upgrade_GLAAnthraxGamma End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14 ShadowSizeY = 14 ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Chem_GLAInfantryTerrorist ; *** ART Parameters *** SelectPortrait = SUTerrorist_L ButtonImage = SUTerrorist UpgradeCameo1 = Chem_Upgrade_GLAAnthraxGamma ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UITRST_SKN IdleAnimation = UITRST_SKL.UITRST_STA 0 25 ;Regular spice animations IdleAnimation = UITRST_SKL.UITRST_IDA IdleAnimation = UITRST_SKL.UITRST_IDB AnimationMode = ONCE TransitionKey = TRANS_Stand End ConditionState = REALLYDAMAGED Animation = UITRST_SKL.UITRST_STA AnimationMode = LOOP TransitionKey = TRANS_Stand End ConditionState = FREEFALL Animation = UITRST_SKL.UITRST_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = UITRST_SKL.UITRST_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING ConditionState = MOVING Animation = UITRST_SKL.UITRST_RNA 15 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING REALLYDAMAGED ConditionState = ATTACKING MOVING Animation = UITRST_SKL.UITRST_RNB 10 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None End AliasConditionState = ATTACKING MOVING REALLYDAMAGED ConditionState = PREATTACK_A Animation = UITRST_SKL.UITRST_ATA AnimationMode = ONCE End AliasConditionState = PREATTACK_A MOVING ConditionState = DYING Animation = UITRST_SKL.UITRST_DTA Animation = UITRST_SKL.UITRST_DTC AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UITRST_SKL.UITRST_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UITRST_SKL.UITRST_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UITRST_SKL.UITRST_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = UITRST_SKL.UITRST_CHA AnimationMode = LOOP End TransitionState = TRANS_Falling TRANS_Chute Animation = UITRST_SKL.UITRST_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = UITRST_SKL.UITRST_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Chem_Terrorist Side = GLAToxinGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None ;Kill himself so we can use FireWeaponWhenDead to fire the real weapon -- and use UNRESISTABLE ;damage to do ini logic for type of death to play -- unresistable for success. Weapon = PRIMARY TerroristSuicideWeapon End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 200 Prerequisites Object = Chem_GLABarracks End BuildCost = 200 BuildTime = 5.0 ;in seconds CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = GLAInfantryTerroristCommandSet ; *** AUDIO Parameters *** VoiceSelect = TerroristVoiceSelect VoiceMove = TerroristVoiceMove VoiceAttack = TerroristVoiceAttack VoiceFear = TerroristVoiceFear VoiceGuard = TerroristVoiceMove UnitSpecificSounds VoiceGarrison = TerroristVoiceMove VoiceCreate = TerroristVoiceCreate VoiceEnter = TerroristVoiceEnter VoiceEnterHostile = TerroristVoiceEnterHostile VoiceGetHealed = TerroristVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End ExperienceValue = 20 20 20 20 ; Experience point value at each level Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_CBH01 ; allows use of command button hunt script with this unit. End Locomotor = SET_NORMAL FastHumanLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End ;Kris Behavior = ConvertToCarBombCrateCollide ModuleTag_06 RequiredKindOf = VEHICLE ; we only give our bonus to VEHICLEs we collide with ;ForbiddenKindOf = TRANSPORT DOZER ; but not to TRANSPORTs or DOZERs! FXList = FX_MakeCarBombSuccess End Behavior = SquishCollide ModuleTag_07 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristDie End ;POISON_DEATHS POISON_DEATHS POISON_DEATHS POISON_DEATHS Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry_TerroristOnly End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta_TerroristOnly ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma_TerroristOnly End ;POISON_DEATHS POISON_DEATHS POISON_DEATHS POISON_DEATHS ; I have just pulled my ripcord, and this ain't no parachute! Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +SUICIDED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 OCL = INITIAL Chem_PoisonFieldGammaLarge End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death04 DeathWeapon = SuicideDynamitePack StartsActive = Yes ; turned on by upgrade DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED End Behavior = FireWeaponWhenDeadBehavior ModuleTag91 DeathWeapon = Chem_SuicideWeaponGamma StartsActive = No TriggeredBy = Chem_Upgrade_GLAAnthraxGamma RequiresAllTriggers = Yes; DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED End; Behavior = FireWeaponWhenDeadBehavior ModuleTag_92 DeathWeapon = Chem_SuicideWeaponBeta StartsActive = No ; turned on by upgrade TriggeredBy = Upgrade_GLAAnthraxBeta RequiresAllTriggers = Yes ;TriggeredBy is an AND, not an OR like it normally is ConflictsWith = Chem_Upgrade_GLAAnthraxGamma End Behavior = FireWeaponWhenDeadBehavior ModuleTag_93 DeathWeapon = Chem_SuicideWeapon StartsActive = No ; turned on by upgrade ConflictsWith = Upgrade_GLAAnthraxBeta Chem_Upgrade_GLAAnthraxGamma End ; Units that can gain experience can't have GrantUpgradeCreate or they crash savegames. ; Behavior = GrantUpgradeCreate ModuleTag_94 ; UpgradeToGrant = Upgrade_GLAAnthraxBeta ; End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_14 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ Object Chem_GLAInfantryAngryMobNexus ;**** ART Parameters ************************** SelectPortrait = SUAngryMob_L ButtonImage = SUAngryMob UpgradeCameo1 = Upgrade_GLAArmTheMob ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = None ; Model = AVBomber_B End End ;****DESIGN parameters ************************** DisplayName = OBJECT:AngryMobNexus Side = GLAToxinGeneral RadarPriority = NOT_ON_RADAR EditorSorting = INFANTRY TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GLAAngryMobNexusHarmlessWeapon Weapon = SECONDARY GLAAngryMobNexusHarmlessWeapon Weapon = TERTIARY GLAAngryMobNexusHarmlessWeapon End ArmorSet Conditions = None Armor = InvulnerableAllArmor DamageFX = None End BuildCost = 800 BuildTime = 15.0 ;in seconds VisionRange = 150 ; it can scout for the spawn ShroudClearingRange = 0 Prerequisites Object = Chem_GLABarracks Object = Chem_GLAPalace End ExperienceValue = 5 5 5 5 ;Experience point value at each level IsTrainable = No CommandSet = GLAInfantryAngryMobCommandSet; ;**** AUDIO Parameters ***************************** VoiceSelect = AngryMobVoiceSelect VoiceMove = AngryMobVoiceMove VoiceGuard = AngryMobVoiceMove VoiceAttack = AngryMobVoiceAttack SoundMoveStart = NoSound SoundAmbient = AngryMobAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds VoiceCreate = AngryMobVoiceCreate End ;**** ENGINEERING Parameters ****************************** RadarPriority = UNIT KindOf = PRELOAD CAN_ATTACK INFANTRY MOB_NEXUS ATTACK_NEEDS_LINE_OF_SIGHT NO_COLLIDE SELECTABLE SCORE Body = ImmortalBody ModuleTag_02 MaxHealth = 99999.0 InitialHealth = 99999.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL AngryMobNexusLocomotor ;Important! don't make the Nexus any faster! Locomotor = SET_WANDER AngryMobNexusLocomotor ;Important! don't make the Nexus any faster! Locomotor = SET_PANIC AngryMobNexusLocomotor ;Important! don't make the Nexus any faster! ; Locomotor = SET_NORMAL WanderHumanLocomotor ;Important! don't make the Nexus any faster! ; Locomotor = SET_WANDER WanderHumanLocomotor ;Important! don't make the Nexus any faster! ; Locomotor = SET_PANIC WanderHumanLocomotor ;Important! don't make the Nexus any faster! Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = SpawnBehavior ModuleTag_05 SpawnNumber = 10 SpawnReplaceDelay = 30000 ; 30 seconds SpawnTemplateName = GLAInfantryAngryMobPistol01 ; Aladdin SpawnTemplateName = GLAInfantryAngryMobRock02 ; Woman in the Gypsy Costume SpawnTemplateName = GLAInfantryAngryMobMolotov02 ; The Lady with the hot sauce SpawnTemplateName = GLAInfantryAngryMobPistol03 ; Skinny Guy with the Green Beret SpawnTemplateName = GLAInfantryAngryMobRock04 ; Fat guy with the tank top SpawnTemplateName = GLAInfantryAngryMobMolotov02 ; The Lady with the hot sauce SpawnTemplateName = GLAInfantryAngryMobPistol05 ; The robed dude with the Man-Veil ExitByBudding = Yes;! InitialBurst = 5 ; the first set of 5 will not delay OneShot = No AggregateHealth = Yes SlavesHaveFreeWill = No End Behavior = QueueProductionExitUpdate ModuleTag_06 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 0.0 Y: 0.0 Z:0.0 ExitDelay = 5000 ; 5 sec InitialBurst = 5 ; the first set of 5 will not delay End Behavior = DestroyDie ModuleTag_07 DeathTypes = ALL End Geometry = CYLINDER GeometryMajorRadius = 1.0 GeometryMinorRadius = 1.0 GeometryHeight = 1.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ Object Chem_GLAInfantryAngryMobPistol01 ;**** ART Parameters *** Draw = W3DModelDraw DrawTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING PISTOL ;--------------------------------------------------------- DefaultConditionState ;Idle with Pistol Holstered Model = UIMOB01_SKN IdleAnimation = UIMOB01_SKL.UIMOB01_IDA1 0 12 IdleAnimation = UIMOB01_SKL.UIMOB01_IDA2 0 5 IdleAnimation = UIMOB01_SKL.UIMOB01_CHA 0 5 IdleAnimation = UIMOB01_SKL.UIMOB01_STA 0 5 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_A WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX End ; Drawing pistol ConditionState = PREATTACK_A Animation = UIMOB01_SKL.UIMOB01_ATA1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_A FIRING_A AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A ; Firing pistol ConditionState = FIRING_A Animation = UIMOB01_SKL.UIMOB01_ATA1_LP ; looping firing AnimationMode = LOOP TransitionKey = TRANS_FIRING_A End AliasConditionState = BETWEEN_FIRING_SHOTS_A ConditionState = RELOADING_A Animation = UIMOB01_SKL.UIMOB01_ATA1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_A TRANS_STAND_A Animation = UIMOB01_SKL.UIMOB01_ATA1_ED ; end firing AnimationMode = ONCE End ConditionState = MOVING Animation = UIMOB01_SKL.UIMOB01_RNA AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING PREATTACK_A AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_C RELOADING_A AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A ConditionState = DYING Animation = UIMOB01_SKL.UIMOB01_DA1 Animation = UIMOB01_SKL.UIMOB01_DA2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB01_SKL.UIMOB01_CHA AnimationMode = ONCE End ;-------------------------------------------------------- ; TRANSITION FROM PISTOL TO AK47 TransitionState = TRANS_STAND_A TRANS_STAND_AK Animation = UIMOB01_SKL.UIMOB01_TA-D AnimationMode = ONCE End ; WHILE CARRYING AK47 ;--------------------------------------------------------- ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung Model = UIMOB01_SKN IdleAnimation = UIMOB01_SKL.UIMOB01_IDD1 0 6 IdleAnimation = UIMOB01_SKL.UIMOB01_IDD2 0 6 IdleAnimation = UIMOB01_SKL.UIMOB01_CHD 0 6 IdleAnimation = UIMOB01_SKL.UIMOB01_STD AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_AK End ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_RND AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING_AK End ConditionState = DYING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_DD1 Animation = UIMOB01_SKL.UIMOB01_DD2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_CHD AnimationMode = ONCE End ; Drawing AK47 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_ATD1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ; Firing Gun ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_ATD1_LP ; looping firing AnimationMode = LOOP WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX TransitionKey = TRANS_FIRING_AK End AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_ATD1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_AK TRANS_STAND_AK Animation = UIMOB01_SKL.UIMOB01_ATD1_ED ; end firing AnimationMode = ONCE End ; ;Throwing bottle---------------------------------------------------------------- ; ConditionState = PREATTACK_C ; Animation = UIMOB01_SKL.UIMOB01_ATCA_BF ; the wind up ; End ; AliasConditionState = PREATTACK_C FIRING_A ; AliasConditionState = PREATTACK_C RELOADING_A ; AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState = FIRING_C ; Animation = UIMOB01_SKL.UIMOB01_ATCA_AF ; the release and follow-thru ; TransitionKey = TRANS_THROW ; End ; AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState RELOADING_C ; Animation =UIMOB01_SKL.UIMOB01_IDA1 ; WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru ; End ; AliasConditionState = RELOADING_C RELOADING_A ; AliasConditionState = RELOADING_C FIRING_A ; AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A ; TransitionState = TRANSXXX TRANS_THROW ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway gun and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_A ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway bottle and get PISTOL ; End ; TransitionState = TRANSXXXAK TRANS_THROW ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway AK and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_AK ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway bottle and get AK ; End ;-------------------------------------------------------- TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB01_SKL.UIMOB01_A_ADTE1 Animation = UIMOB01_SKL.UIMOB01_D_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB01_SKL.UIMOB01_A_ADTE2 Animation = UIMOB01_SKL.UIMOB01_D_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB01_SKL.UIMOB01_A_ADTE3 Animation = UIMOB01_SKL.UIMOB01_D_ADTE3 AnimationMode = ONCE TransitionKey = None End End ;**** DESIGN parameters *** DisplayName = OBJECT:AngryMob Side = GLAToxinGeneral EditorSorting = INFANTRY TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GLAAngryMobPistolWeapon End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY GLAAngryMobAK47NoDamageWeapon ; for atttacking in AK-proof conditions Weapon = SECONDARY GLAAngryMobAK47Weapon End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 150 Prerequisites Object = Chem_GLABarracks End BuildCost = 100 BuildTime = 0.0 ExperienceValue = 5 5 5 5 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound ;**** ENGINEERING Parameters *** ;MOB01 RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables Body = ActiveBody BodyTag_01 MaxHealth = 50.0 InitialHealth = 50.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = MobMemberSlavedUpdate ModuleTag_04 MustCatchUpRadius = 40 NoNeedToCatchUpRadius = 15 Squirrelliness = 0.05 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames End Locomotor = SET_NORMAL AngryMobNormalLocomotor Locomotor = SET_WANDER AngryMobWanderLocomotor Locomotor = SET_PANIC AngryMobPanicLocomotor Behavior = PhysicsBehavior BehaviorTag_01 Mass = 5.0 End Behavior = SquishCollide ModuleTag_08 ;nothing End Behavior = WeaponSetUpgrade UpgradeTag_01 TriggeredBy = Upgrade_GLAArmTheMob End ; --- begin Death modules --- Behavior = SlowDeathBehavior DeathTag_01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabMaleDie End Behavior = SlowDeathBehavior DeathTag_02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior DeathTag_03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabMaleDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior DeathTag_04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_GIDie OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior BehaviorTag_02 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 4.0 ; very thin GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ Object Chem_GLAInfantryAngryMobRock02 ;**** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING ROCK ;--------------------------------------------------------- DefaultConditionState Model = UIMOB02_SKN IdleAnimation = UIMOB02_SKL.UIMOB02_IDB1 0 12 IdleAnimation = UIMOB02_SKL.UIMOB02_IDB2 0 5 IdleAnimation = UIMOB02_SKL.UIMOB02_CHB 0 5 IdleAnimation = UIMOB02_SKL.UIMOB02_STB 0 12 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_A ;WeaponFireFXBone = PRIMARY "UIMOB02 R HAND" ;WeaponMuzzleFlash = PRIMARY "UIMOB02 R HAND" WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX End ; Drawing rock ConditionState = PREATTACK_A Animation = UIMOB02_SKL.UIMOB02_ATB2_BF ; wind up AnimationMode = ONCE End AliasConditionState = PREATTACK_A FIRING_A AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A ; throwing rock ConditionState = FIRING_A Animation = UIMOB02_SKL.UIMOB02_ATB1_AF ; throw Animation = UIMOB02_SKL.UIMOB02_ATB2_AF ; throw AnimationMode = ONCE TransitionKey = TRANS_FIRING_A End ConditionState = BETWEEN_FIRING_SHOTS_A Animation = UIMOB02_SKL.UIMOB02_STB AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_FIRING_A End AliasConditionState = RELOADING_A ConditionState = MOVING Animation = UIMOB02_SKL.UIMOB02_RNB AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = UIMOB02_SKL.UIMOB02_DB1 Animation = UIMOB02_SKL.UIMOB02_DB2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB02_SKL.UIMOB02_CHB Flags = RANDOMSTART AnimationMode = LOOP End ;-------------------------------------------------------- ; TRANSITION FROM PISTOL TO AK47 TransitionState = TRANS_STAND_A TRANS_STAND_AK Animation = UIMOB02_SKL.UIMOB02_TB-D AnimationMode = ONCE End ; WHILE CARRYING AK47 ;--------------------------------------------------------- ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung Model = UIMOB02_SKN IdleAnimation = UIMOB02_SKL.UIMOB02_IDD1 0 6 IdleAnimation = UIMOB02_SKL.UIMOB02_IDD2 0 6 IdleAnimation = UIMOB02_SKL.UIMOB02_CHD 0 6 IdleAnimation = UIMOB02_SKL.UIMOB02_STD AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_AK End ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_RND AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING_AK End ConditionState = DYING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_DD1 Animation = UIMOB02_SKL.UIMOB02_DD2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_CHD AnimationMode = ONCE End ; Drawing AK47 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_ATD1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ; Firing Gun ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_ATD1_LP ; looping firing AnimationMode = LOOP WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX TransitionKey = TRANS_FIRING_AK End AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_ATD1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_AK TRANS_STAND_AK Animation = UIMOB02_SKL.UIMOB02_ATD1_ED ; end firing AnimationMode = ONCE End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB02_SKL.UIMOB02_B_ADTA1 Animation = UIMOB02_SKL.UIMOB02_D_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB02_SKL.UIMOB02_B_ADTA2 Animation = UIMOB02_SKL.UIMOB02_D_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB02_SKL.UIMOB02_B_ADTA3 Animation = UIMOB02_SKL.UIMOB02_D_ADTA3 AnimationMode = ONCE TransitionKey = None End End ;**** DESIGN parameters *** DisplayName = OBJECT:AngryMob Side = GLAToxinGeneral EditorSorting = INFANTRY TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GLAAngryMobRockProjectileWeapon End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY GLAAngryMobAK47NoDamageWeapon ; for atttacking in AK-proof conditions Weapon = SECONDARY GLAAngryMobAK47Weapon End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 150 Prerequisites Object = Chem_GLABarracks End BuildCost = 100 BuildTime = 0.0 ExperienceValue = 5 5 5 5 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound ;**** ENGINEERING Parameters *** ;MOB02 RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables Body = ActiveBody BodyTag_01 MaxHealth = 50.0 InitialHealth = 50.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = MobMemberSlavedUpdate ModuleTag_04 MustCatchUpRadius = 40 NoNeedToCatchUpRadius = 15 Squirrelliness = 0.05 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames End Locomotor = SET_NORMAL AngryMobNormalLocomotor Locomotor = SET_WANDER AngryMobWanderLocomotor Locomotor = SET_PANIC AngryMobPanicLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 5.0 End Behavior = SquishCollide ModuleTag_08 ;nothing End Behavior = WeaponSetUpgrade UpgradeTag_01 TriggeredBy = Upgrade_GLAArmTheMob End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabFemaleDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabFemaleDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_GIDie OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 4.0 ; very thin GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ObjectReskin Chem_GLAInfantryAngryMobPistol03 Chem_GLAInfantryAngryMobPistol01 ;**** ART Parameters *** Draw = W3DModelDraw DrawTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING PISTOL ;--------------------------------------------------------- DefaultConditionState ;Idle with Pistol Holstered Model = UIMOB03_SKN IdleAnimation = UIMOB03_SKL.UIMOB03_IDA1 0 12 IdleAnimation = UIMOB03_SKL.UIMOB03_IDA2 0 5 IdleAnimation = UIMOB03_SKL.UIMOB03_CHA 0 5 IdleAnimation = UIMOB03_SKL.UIMOB03_STA 0 5 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_A WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX WeaponFireFXBone = TERTIARY "UIMOB03 R HAND" End ; Drawing pistol ConditionState = PREATTACK_A Animation = UIMOB03_SKL.UIMOB03_ATA1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_A FIRING_A AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A ; Firing pistol ConditionState = FIRING_A Animation = UIMOB03_SKL.UIMOB03_ATA1_LP ; looping firing AnimationMode = LOOP TransitionKey = TRANS_FIRING_A End AliasConditionState = BETWEEN_FIRING_SHOTS_A ConditionState = RELOADING_A Animation = UIMOB03_SKL.UIMOB03_ATA1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_A TRANS_STAND_A Animation = UIMOB03_SKL.UIMOB03_ATA1_ED ; end firing AnimationMode = ONCE End ConditionState = MOVING Animation = UIMOB03_SKL.UIMOB03_RNA AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING PREATTACK_A AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_C RELOADING_A AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A ConditionState = DYING Animation = UIMOB03_SKL.UIMOB03_DA1 Animation = UIMOB03_SKL.UIMOB03_DA2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB03_SKL.UIMOB03_CHA AnimationMode = ONCE End ;-------------------------------------------------------- ; TRANSITION FROM PISTOL TO AK47 TransitionState = TRANS_STAND_A TRANS_STAND_AK Animation = UIMOB03_SKL.UIMOB03_TA-D AnimationMode = ONCE End ; WHILE CARRYING AK47 ;--------------------------------------------------------- ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung Model = UIMOB03_SKN IdleAnimation = UIMOB03_SKL.UIMOB03_IDD1 0 6 IdleAnimation = UIMOB03_SKL.UIMOB03_IDD2 0 6 IdleAnimation = UIMOB03_SKL.UIMOB03_CHD 0 6 IdleAnimation = UIMOB03_SKL.UIMOB03_STD AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_AK End ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_RND AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING_AK End ConditionState = DYING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_DD1 Animation = UIMOB03_SKL.UIMOB03_DD2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_CHD AnimationMode = ONCE End ; Drawing AK47 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_ATD_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ; Firing Gun ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_ATD_LP ; looping firing AnimationMode = LOOP WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX TransitionKey = TRANS_FIRING_AK End AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_ATD_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_AK TRANS_STAND_AK Animation = UIMOB03_SKL.UIMOB03_ATD_ED ; end firing AnimationMode = ONCE End ; ;Throwing bottle---------------------------------------------------------------- ; ConditionState = PREATTACK_C ; Animation = UIMOB03_SKL.UIMOB03_ATCA_BF ; the wind up ; End ; AliasConditionState = PREATTACK_C FIRING_A ; AliasConditionState = PREATTACK_C RELOADING_A ; AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState = FIRING_C ; Animation = UIMOB03_SKL.UIMOB03_ATCA_AF ; the release and follow-thru ; TransitionKey = TRANS_THROW ; End ; AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState RELOADING_C ; Animation =UIMOB03_SKL.UIMOB03_IDA1 ; WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru ; ; End ; AliasConditionState = RELOADING_C RELOADING_A ; AliasConditionState = RELOADING_C FIRING_A ; AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A ; TransitionState = TRANSXXX TRANS_THROW ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway gun and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_A ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway bottle and get PISTOL ; End ; TransitionState = TRANSXXXAK TRANS_THROW ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway AK and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_AK ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway bottle and get AK ; End ;-------------------------------------------------------- TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB03_SKL.UIMOB03_A_ADTD1 Animation = UIMOB03_SKL.UIMOB03_D_ADTD1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB03_SKL.UIMOB03_A_ADTD2 Animation = UIMOB03_SKL.UIMOB03_D_ADTD2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB03_SKL.UIMOB03_A_ADTD3 Animation = UIMOB03_SKL.UIMOB03_D_ADTD3 AnimationMode = ONCE TransitionKey = None End End Geometry = CYLINDER GeometryMajorRadius = 3.0 ; very thin GeometryMinorRadius = 3.0 ; very thinD GeometryHeight = 12.0 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ObjectReskin Chem_GLAInfantryAngryMobRock04 Chem_GLAInfantryAngryMobRock02 ;**** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING ROCK ;--------------------------------------------------------- DefaultConditionState Model = UIMOB04_SKN IdleAnimation = UIMOB04_SKL.UIMOB04_IDB1 0 12 IdleAnimation = UIMOB04_SKL.UIMOB04_IDB2 0 5 IdleAnimation = UIMOB04_SKL.UIMOB04_CHB 0 5 IdleAnimation = UIMOB04_SKL.UIMOB04_STB 0 12 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_A WaitForStateToFinishIfPossible TRANS_FIRING_A ;WeaponFireFXBone = PRIMARY "UIMOB04 R HAND" ;WeaponMuzzleFlash = PRIMARY "UIMOB04 R HAND" WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX End ; Drawing rock ConditionState = PREATTACK_A Animation = UIMOB04_SKL.UIMOB04_ATB2_BF ; wind up AnimationMode = ONCE AnimationSpeedFactorRange 1.0 1.0 End AliasConditionState = PREATTACK_A FIRING_A AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A ; throwing rock ConditionState = FIRING_A Animation = UIMOB04_SKL.UIMOB04_ATB1_AF ; throw Animation = UIMOB04_SKL.UIMOB04_ATB2_AF ; throw AnimationMode = ONCE TransitionKey = TRANS_FIRING_A End ConditionState = BETWEEN_FIRING_SHOTS_A Animation = UIMOB04_SKL.UIMOB04_STB AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_FIRING_A End AliasConditionState = RELOADING_A ConditionState = MOVING Animation = UIMOB04_SKL.UIMOB04_RUN AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = UIMOB04_SKL.UIMOB04_DB1 Animation = UIMOB04_SKL.UIMOB04_DB2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB04_SKL.UIMOB04_CHB Flags = RANDOMSTART AnimationMode = LOOP End ;-------------------------------------------------------- ; TRANSITION FROM PISTOL TO AK47 TransitionState = TRANS_STAND_A TRANS_STAND_AK Animation = UIMOB04_SKL.UIMOB04_TB-D AnimationMode = ONCE End ; WHILE CARRYING AK47 ;--------------------------------------------------------- ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung Model = UIMOB04_SKN IdleAnimation = UIMOB04_SKL.UIMOB04_IDD1 0 6 IdleAnimation = UIMOB04_SKL.UIMOB04_IDD2 0 6 IdleAnimation = UIMOB04_SKL.UIMOB04_CHD 0 6 IdleAnimation = UIMOB04_SKL.UIMOB04_STD AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_AK WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX End ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_RND AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING_AK End ConditionState = DYING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_DD1 Animation = UIMOB04_SKL.UIMOB04_DD2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_CHD AnimationMode = ONCE End ; Drawing AK47 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_ATD1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ; Firing Gun ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_ATD1_LP ; looping firing AnimationMode = LOOP WeaponFireFXBone = PRIMARY MuzzleAK WeaponMuzzleFlash = PRIMARY MuzzleAKFX TransitionKey = TRANS_FIRING_AK End AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_ATD1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_AK TRANS_STAND_AK Animation = UIMOB04_SKL.UIMOB04_ATD1_ED ; end firing AnimationMode = ONCE End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB04_SKL.UIMOB04_B_ADTF1 Animation = UIMOB04_SKL.UIMOB04_D_ADTF1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB04_SKL.UIMOB04_B_ADTF2 Animation = UIMOB04_SKL.UIMOB04_D_ADTF2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB04_SKL.UIMOB04_B_ADTF3 Animation = UIMOB04_SKL.UIMOB04_D_ADTF3 AnimationMode = ONCE TransitionKey = None End End Geometry = CYLINDER GeometryMajorRadius = 5.0 ; kinda thin GeometryMinorRadius = 5.0 ; kinda thinD GeometryHeight = 12.0 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ObjectReskin Chem_GLAInfantryAngryMobPistol05 Chem_GLAInfantryAngryMobPistol01 ;**** ART Parameters *** Draw = W3DModelDraw DrawTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING PISTOL ;--------------------------------------------------------- DefaultConditionState ;Idle with Pistol Holstered Model = UIMOB05_SKN IdleAnimation = UIMOB05_SKL.UIMOB05_IDA1 0 12 IdleAnimation = UIMOB05_SKL.UIMOB05_IDA2 0 5 IdleAnimation = UIMOB05_SKL.UIMOB05_CHA 0 5 IdleAnimation = UIMOB05_SKL.UIMOB05_STA 0 5 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_A WeaponFireFXBone = PRIMARY Muzzle01 WeaponMuzzleFlash = PRIMARY Muzzle01 End ; Drawing pistol ConditionState = PREATTACK_A Animation = UIMOB05_SKL.UIMOB05_ATA1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_A FIRING_A AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A ; Firing pistol ConditionState = FIRING_A Animation = UIMOB05_SKL.UIMOB05_ATA1_LP ; looping firing AnimationMode = LOOP TransitionKey = TRANS_FIRING_A End AliasConditionState = BETWEEN_FIRING_SHOTS_A ConditionState = RELOADING_A Animation = UIMOB05_SKL.UIMOB05_ATA1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_A TRANS_STAND_A Animation = UIMOB05_SKL.UIMOB05_ATA1_ED ; end firing AnimationMode = ONCE End ConditionState = MOVING Animation = UIMOB05_SKL.UIMOB05_RNA AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING PREATTACK_A AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_C RELOADING_A AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A ConditionState = DYING Animation = UIMOB05_SKL.UIMOB05_DA1 Animation = UIMOB05_SKL.UIMOB05_DA2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB05_SKL.UIMOB05_CHA AnimationMode = ONCE End ;-------------------------------------------------------- ; TRANSITION FROM PISTOL TO AK47 TransitionState = TRANS_STAND_A TRANS_STAND_AK Animation = UIMOB05_SKL.UIMOB05_TA-D AnimationMode = ONCE End ; WHILE CARRYING AK47 ;--------------------------------------------------------- ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung Model = UIMOB05_SKN IdleAnimation = UIMOB05_SKL.UIMOB05_IDD1 0 6 IdleAnimation = UIMOB05_SKL.UIMOB05_IDD2 0 6 IdleAnimation = UIMOB05_SKL.UIMOB05_CHD 0 6 IdleAnimation = UIMOB05_SKL.UIMOB05_STD AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_AK WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX End ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_RND AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING_AK End ConditionState = DYING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_DD1 Animation = UIMOB05_SKL.UIMOB05_DD2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_CHD AnimationMode = ONCE End ; Drawing AK47 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_ATD1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ; Firing Gun ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_ATD1_LP ; looping firing AnimationMode = LOOP WeaponFireFXBone = PRIMARY MuzzleAK WeaponMuzzleFlash = PRIMARY MuzzleAKFX TransitionKey = TRANS_FIRING_AK End AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_ATD1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_AK TRANS_STAND_AK Animation = UIMOB05_SKL.UIMOB05_ATD1_ED ; end firing AnimationMode = ONCE End ; ;Throwing bottle---------------------------------------------------------------- ; ConditionState = PREATTACK_C ; Animation = UIMOB05_SKL.UIMOB05_ATCA_BF ; the wind up ; End ; AliasConditionState = PREATTACK_C FIRING_A ; AliasConditionState = PREATTACK_C RELOADING_A ; AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState = FIRING_C ; Animation = UIMOB05_SKL.UIMOB05_ATCA_AF ; the release and follow-thru ; TransitionKey = TRANS_THROW ; End ; AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState RELOADING_C ; Animation =UIMOB05_SKL.UIMOB05_IDA1 ; WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru ; End ; AliasConditionState = RELOADING_C RELOADING_A ; AliasConditionState = RELOADING_C FIRING_A ; AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A ; TransitionState = TRANSXXX TRANS_THROW ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway gun and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_A ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway bottle and get PISTOL ; End ; TransitionState = TRANSXXXAK TRANS_THROW ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway AK and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_AK ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway bottle and get AK ; End ;-------------------------------------------------------- TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB05_SKL.UIMOB05_A_ADTA1 Animation = UIMOB05_SKL.UIMOB05_D_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB05_SKL.UIMOB05_A_ADTA2 Animation = UIMOB05_SKL.UIMOB05_D_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB05_SKL.UIMOB05_A_ADTA3 Animation = UIMOB05_SKL.UIMOB05_D_ADTA3 AnimationMode = ONCE TransitionKey = None End End Geometry = CYLINDER GeometryMajorRadius = 3.0 ; very thin GeometryMinorRadius = 3.0 ; very thinD GeometryHeight = 12.0 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ Object Chem_GLAInfantryAngryMobMolotov02 ;**** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING ROCK ;--------------------------------------------------------- DefaultConditionState Model = UIMOB02_SKN IdleAnimation = UIMOB02_SKL.UIMOB02_IDB1 0 12 IdleAnimation = UIMOB02_SKL.UIMOB02_IDB2 0 5 IdleAnimation = UIMOB02_SKL.UIMOB02_CHB 0 5 IdleAnimation = UIMOB02_SKL.UIMOB02_STB 0 12 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_B WeaponFireFXBone = SECONDARY "UIMOB02 R HAND" End ; Drawing rock ConditionState = PREATTACK_B Animation = UIMOB02_SKL.UIMOB02_ATCB_BF ; wind up AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B ; throwing rock ConditionState = FIRING_B Animation = UIMOB02_SKL.UIMOB02_ATCB_AF ; throw AnimationMode = ONCE TransitionKey = TRANS_FIRING_B End ConditionState = BETWEEN_FIRING_SHOTS_B Animation = UIMOB02_SKL.UIMOB02_STB AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_FIRING_B End AliasConditionState = RELOADING_B ConditionState = MOVING Animation = UIMOB02_SKL.UIMOB02_RNB AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = UIMOB02_SKL.UIMOB02_DB1 Animation = UIMOB02_SKL.UIMOB02_DB2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB02_SKL.UIMOB02_CHB Flags = RANDOMSTART AnimationMode = LOOP End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB02_SKL.UIMOB02_B_ADTA1 Animation = UIMOB02_SKL.UIMOB02_D_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB02_SKL.UIMOB02_B_ADTA2 Animation = UIMOB02_SKL.UIMOB02_D_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB02_SKL.UIMOB02_B_ADTA3 Animation = UIMOB02_SKL.UIMOB02_D_ADTA3 AnimationMode = ONCE TransitionKey = None End End ;**** DESIGN parameters *** DisplayName = OBJECT:AngryMob Side = GLAToxinGeneral EditorSorting = INFANTRY TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GLAAngryMobMolotovCocktailProjectileWeapon ; all she does is throw molotovs End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 150 Prerequisites Object = Chem_GLABarracks End BuildCost = 100 BuildTime = 0.0 ExperienceValue = 5 5 5 5 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound ;**** ENGINEERING Parameters *** ;MOB02 RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables Body = ActiveBody BodyTag_01 MaxHealth = 50.0 InitialHealth = 50.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = MobMemberSlavedUpdate ModuleTag_04 MustCatchUpRadius = 40 NoNeedToCatchUpRadius = 15 Squirrelliness = 0.05 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames End Locomotor = SET_NORMAL AngryMobNormalLocomotor Locomotor = SET_WANDER AngryMobWanderLocomotor Locomotor = SET_PANIC AngryMobPanicLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 5.0 End Behavior = SquishCollide ModuleTag_08 ;nothing End Behavior = WeaponSetUpgrade UpgradeTag_01 TriggeredBy = Upgrade_GLAArmTheMob End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabFemaleDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabFemaleDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_GIDie OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 4.0 ; very thin GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ Object Chem_GLAInfantryWorker ; *** ART Parameters *** SelectPortrait = SUWorker_L ButtonImage = SUWorker UpgradeCameo1 = Upgrade_GLAWorkerShoes ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UIWRKR_SKN IdleAnimation = UIWRKR_SKL.UIWRKR_STA 0 9 IdleAnimation = UIWRKR_SKL.UIWRKR_IDA AnimationMode = ONCE TransitionKey = TRANS_Stand End ConditionState = MOVING Animation = UIWRKR_SKL.UIWRKR_RNA 16 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Moving ParticleSysBone = None InfantryDustTrails End ; it is legal to be ACTIVELY_CONSTRUCTING and MOVING at the same time, ; since we flip the bit once we get pretty close to the target. but it looks ; funky to do the construction animation while moving. ; so just use the normal move animation in that case. AliasConditionState = ACTIVELY_CONSTRUCTING MOVING ConditionState = ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_MS AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_MetalDetector_Standing End ConditionState = MOVING ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_MSW 50 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_MetalDetector_Moving ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING CARRYING TransitionState = TRANS_Stand TRANS_MetalDetector_Standing ;STANDING -> ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB1;take out standing AnimationMode = ONCE End TransitionState = TRANS_MetalDetector_Standing TRANS_Stand ;ATTACKING -> STANDING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB2;put away standing AnimationMode = ONCE End TransitionState = TRANS_Carry TRANS_MetalDetector_Standing ;CARRYING -> ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB1;take out standing AnimationMode = ONCE End TransitionState = TRANS_MetalDetector_Standing TRANS_Carry ;ATTACKING -> CARRYING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB2;put away standing AnimationMode = ONCE End TransitionState = TRANS_Carry TRANS_MetalDetector_Moving ;CARRYING -> MOVING ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION] AnimationMode = ONCE AnimationSpeedFactorRange = 2.0 2.0 End TransitionState = TRANS_MetalDetector_Moving TRANS_Stand ;MOVING ATTACKING -> STANDING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB2;put away moving AnimationMode = ONCE End TransitionState = TRANS_Stand TRANS_MetalDetector_Moving ;STANDING -> MOVING ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION] AnimationMode = ONCE AnimationSpeedFactorRange = 2.0 2.0 End TransitionState = TRANS_Moving TRANS_MetalDetector_Standing ;MOVING -> ATTACKING [STANDING] ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB1;take out standing AnimationMode = ONCE End TransitionState = TRANS_MetalDetector_Standing TRANS_Moving ;ATTACKING [STANDING] -> MOVING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRC2;put away moving [NEW NON-SKATING ANIMATION] AnimationMode = ONCE AnimationSpeedFactorRange = 2.0 2.0 End TransitionState = TRANS_Moving TRANS_MetalDetector_Moving ;MOVING -> MOVING ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION] AnimationMode = ONCE AnimationSpeedFactorRange = 2.0 2.0 End TransitionState = TRANS_MetalDetector_Moving TRANS_Moving ;MOVING ATTACKING -> MOVING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRC2;put away moving [NEW NON-SKATING ANIMATION] AnimationMode = ONCE AnimationSpeedFactorRange = 2.0 2.0 End ConditionState = MOVING CARRYING ShowSubObject = BOX Animation = UIWRKR_SKL.UIWRKR_CARY 12 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Carry ParticleSysBone = None InfantryDustTrails End ; it is legal to be ACTIVELY_CONSTRUCTING and MOVING at the same time, ; since we flip the bit once we get pretty close to the target. but it looks ; funky to do the construction animation while moving. ; so just use the normal move animation in that case. AliasConditionState = ACTIVELY_CONSTRUCTING MOVING CARRYING ConditionState = CARRYING ShowSubObject = BOX Animation = UIWRKR_SKL.UIWRKR_CARST 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Carry End ConditionState = DYING Animation = UIWRKR_SKL.UIWRKR_DTA AnimationMode = ONCE TransitionKey = TRANS_Dying End AliasConditionState = DYING CARRYING TransitionState = TRANS_Dying TRANS_Flailing Animation = UIWRKR_SKL.UIWRKR_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIWRKR_SKL.UIWRKR_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIWRKR_SKL.UIWRKR_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = UIWRKR_SKL.UIWRKR_CHA AnimationMode = ONCE End ConditionState = ACTIVELY_CONSTRUCTING Animation = UIWRKR_SKL.UIWRKR_BDA AnimationMode = LOOP TransitionKey = TRANS_Constructing End AliasConditionState = ACTIVELY_CONSTRUCTING CARRYING ; -------------------- TransitionState = TRANS_Stand TRANS_Carry ShowSubObject = BOX Animation = UIWRKR_SKL.UIWRKR_PIK AnimationMode = ONCE End TransitionState = TRANS_Carry TRANS_Stand ShowSubObject = BOX Animation = UIWRKR_SKL.UIWRKR_PIK AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End TransitionState = TRANS_Stand TRANS_Constructing Animation = UIWRKR_SKL.UIWRKR_TRA1 AnimationMode = ONCE End TransitionState = TRANS_Constructing TRANS_Stand Animation = UIWRKR_SKL.UIWRKR_TRA2 AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Worker Side = GLAToxinGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY None End WeaponSet Conditions = MINE_CLEARING_DETAIL Weapon = PRIMARY WorkerMineDisarmingWeapon End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 100 ShroudClearingRange = 200 ;Prerequisites ; Object = Chem_GLABarracks GLASupplyStash ;commented out, or else you can't build from Con Yard as Dozer. ;End BuildCost = 200 BuildTime = 3.0 ;in seconds CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Chem_GLAWorkerCommandSet ; *** AUDIO Parameters *** VoiceSelect = WorkerVoiceSelect VoiceMove = WorkerVoiceMove VoiceAttack = WorkerVoiceMove VoiceGuard = WorkerVoiceMove VoiceFear = WorkerVoiceFear VoiceTaskComplete = WorkerVoiceBuildComplete UnitSpecificSounds VoiceEnter = WorkerVoiceMoveUpgraded VoiceEnterHostile = WorkerVoiceMoveUpgraded VoiceGarrison = WorkerVoiceGarrison VoiceCreate = WorkerVoiceCreate VoiceSupply = WorkerVoiceSupply VoiceNoBuild = WorkerVoiceBuildNot VoiceRepair = WorkerVoiceRepair VoiceDisarm = WorkerVoiceClearMine VoiceBuildResponse = WorkerVoiceBuild VoiceGetHealed = WorkerVoiceMoveUpgraded VoiceMoveUpgraded = WorkerVoiceMoveUpgraded End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY SALVAGER DOZER HARVESTER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = WorkerAIUpdate ModuleTag_03 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second BoredTime = 5000 ; in milliseconds BoredRange = 150 ; when bored, we look this far away to do something MaxBoxes = 1 UpgradedSupplyBoost = 8 ; gives this much more cash for every box collected SupplyCenterActionDelay = 150 ;400 ; ms for whole thing (one transaction) SupplyWarehouseActionDelay = 150 ;400 ;ms per box (many small transactions) SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan) SuppliesDepletedVoice = WorkerVoiceSuppliesDepleted ; the only "enemies" that workers can acquire are mines, to be disarmed... AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL FastHumanLocomotor Locomotor = SET_NORMAL_UPGRADED WorkerShoesLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = SquishCollide ModuleTag_06 ;nothing End Behavior = LocomotorSetUpgrade ModuleTag_07 TriggeredBy = Upgrade_GLAWorkerShoes End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_WorkerDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_WorkerDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = StealthDetectorUpdate ModuleTag_12 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. ExtraRequiredKindOf = MINE ; we can only detect MINES, not other stealthed things End Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = CommandSetUpgrade ModuleTag_14 TriggeredBy = Upgrade_GLAWorkerFakeCommandSet RemovesUpgrades = Upgrade_GLAWorkerRealCommandSet CommandSet = Chem_GLAWorkerFakeBuildingsCommandSet End Behavior = CommandSetUpgrade ModuleTag_15 TriggeredBy = Upgrade_GLAWorkerRealCommandSet RemovesUpgrades = Upgrade_GLAWorkerFakeCommandSet Upgrade_GLAWorkerRealCommandSet CommandSet = Chem_GLAWorkerCommandSet End Behavior = ProductionUpdate ModuleTag_16 MaxQueueEntries = 1; For the command set switching upgrade End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Chem_GLATankScorpion ; *** ART Parameters *** SelectPortrait = SUScorpion_L ButtonImage = SUScorpion UpgradeCameo1 = Upgrade_GLAScorpionRocket UpgradeCameo2 = Upgrade_GLAAPRockets UpgradeCameo3 = Upgrade_GLAToxinShells UpgradeCameo4 = Upgrade_GLAJunkRepair UpgradeCameo5 = Chem_Upgrade_GLAAnthraxGamma Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes ProjectileBoneFeedbackEnabledSlots = SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset ; ------------ Normal DefaultConditionState Model = UVLiteTank Turret = Turret ; Logic twist bone is always this, both turrets are subobjects of it, as are both missile racks ; note, order-dependent: we must hide/show Missile AFTER we hide/show MissileRack! ShowSubObject = Turret01 HideSubObject = MissleRack01 MissleRack02 TurretUP01; MissileRack misspelled in the Art WeaponFireFXBone = PRIMARY Muzzle WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponLaunchBone = PRIMARY Muzzle End ConditionState = REALLYDAMAGED Model = UVLiteTank_d End AliasConditionState = RUBBLE ; ------------ With big turret ConditionState = WEAPONSET_CRATEUPGRADE_ONE ; one or two crates is a turret switch ShowSubObject = TurretUP01 HideSubObject = MissleRack01 MissleRack02 Turret01 ; MissileRack misspelled in the Art End AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED Model = UVLiteTank_d ShowSubObject = TurretUP01 HideSubObject = MissleRack01 MissleRack02 Turret01 ; MissileRack misspelled in the Art End AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED ; ---------- With missile ConditionState = WEAPONSET_PLAYER_UPGRADE ShowSubObject = MissleRack01 Turret01 HideSubObject = MissleRack02 TurretUP01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = UVLiteTank_d ShowSubObject = MissleRack01 Turret01 HideSubObject = MissleRack02 TurretUP01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ; ---------- With missile and big turret ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE ShowSubObject = MissleRack01 TurretUP01 HideSubObject = MissleRack02 Turret01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED Model = UVLiteTank_d ShowSubObject = MissleRack01 TurretUP01 HideSubObject = MissleRack02 Turret01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ; ---------- With two missiles and big turret ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO ShowSubObject = MissleRack01 MissleRack02 TurretUP01 HideSubObject = Turret01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED Model = UVLiteTank_d ShowSubObject = MissleRack01 MissleRack02 TurretUP01 HideSubObject = Turret01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:Scorpion Side = GLAToxinGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY ScorpionTankGun Weapon = SECONDARY None End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY ScorpionTankGun Weapon = SECONDARY Chem_ScorpionMissileWeapon End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY ScorpionTankGunPlusOne Weapon = SECONDARY None End WeaponSet Conditions = CRATEUPGRADE_ONE PLAYER_UPGRADE Weapon = PRIMARY ScorpionTankGunPlusOne Weapon = SECONDARY Chem_ScorpionMissileWeapon ; No bonus at Plus One End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY ScorpionTankGunPlusOne ; No further bonus at plus two Weapon = SECONDARY None End WeaponSet Conditions = CRATEUPGRADE_TWO PLAYER_UPGRADE Weapon = PRIMARY ScorpionTankGunPlusOne ; No further bonus at plus two Weapon = SECONDARY Chem_ScorpionMissileWeaponPlusTwo End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End BuildCost = 650 BuildTime = 7.0 ;in seconds VisionRange = 125 ShroudClearingRange = 300 Prerequisites Object = Chem_GLAArmsDealer End ExperienceValue = 60 60 120 200 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = GLATankScorpionCommandSet ; *** AUDIO Parameters *** VoiceSelect = ScorpionTankVoiceSelect VoiceMove = ScorpionTankVoiceMove VoiceAttack = ScorpionTankVoiceAttack SoundMoveStart = ScorpionTankMoveStart SoundMoveStartDamaged = ScorpionTankMoveStart VoiceGuard = ScorpionTankVoiceMove UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = ScorpionTankVoiceCreate ;TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop VoiceEnter = ScorpionTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER WEAPON_SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 370.0 InitialHealth = 370.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 740 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 100 RecenterTime = 5000 ; how long to wait during idle before recentering ControlledWeaponSlots = PRIMARY SECONDARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL ScorpionLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = AutoHealBehavior ModuleTag_05 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_06 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_ScorpionTankDeathEffect FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = WeaponSetUpgrade ModuleTag_07 TriggeredBy = Upgrade_GLAScorpionRocket End Behavior = DestroyDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_12 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_13 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End ; Units that can gain experience can't have GrantUpgradeCreate or they crash savegames. ; Behavior = GrantUpgradeCreate ModuleTag_22 ; UpgradeToGrant = Upgrade_GLAToxinShells ; End ; ; Behavior = GrantUpgradeCreate ModuleTag_23 ; UpgradeToGrant = Upgrade_GLAAnthraxBeta ; End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 9.0 GeometryHeight = 10.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;GLA Rocket Buggy Object Chem_GLAVehicleRocketBuggy ; *** ART Parameters *** SelectPortrait = SURocketBuggy_L ButtonImage = SURocketBuggy UpgradeCameo1 = Upgrade_GLABuggyAmmo UpgradeCameo2 = Upgrade_GLAAPRockets UpgradeCameo3 = Upgrade_GLAJunkRepair ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UVRockBug Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = REALLYDAMAGED Model = UVRockBug_D Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = RUBBLE Model = UVRockBug_D Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = WEAPONSET_PLAYER_UPGRADE Model = UVRockBug Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB End ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = UVRockBug_D Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB End ConditionState = WEAPONSET_PLAYER_UPGRADE RUBBLE Model = UVRockBug_D Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB End TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:RocketBuggy Side = GLAToxinGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY BuggyRocketWeapon End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY BuggyRocketWeaponUpgraded End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End BuildCost = 1100 BuildTime = 10.0 ;in seconds VisionRange = 180 ShroudClearingRange = 300 Prerequisites Object = Chem_GLAArmsDealer Object = Chem_GLAPalace End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = GLAVehicleRocketBuggyCommandSet ; *** AUDIO Parameters *** VoiceSelect = RocketBuggyVoiceSelect VoiceMove = RocketBuggyVoiceMove VoiceAttack = RocketBuggyVoiceAttack SoundMoveStart = RocketBuggyMoveStart SoundMoveStartDamaged = RocketBuggyMoveStart VoiceGuard = RocketBuggyVoiceMove UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = RocketBuggyVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceCrush = RocketBuggyVoiceCrush VoiceEnter = RocketBuggyVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 120 InitialHealth = 120 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 240 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 90 ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL RocketBuggyLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End ; The pop up AirDeath Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 5 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = FINAL OCL_RocketBuggyAirDeathStart End Behavior = AutoHealBehavior ModuleTag_08 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = WeaponSetUpgrade ModuleTag_09 TriggeredBy = Upgrade_GLABuggyAmmo End ; Behavior = WeaponSetUpgrade ModuleTag_09 ; TriggeredBy = Chem_Upgrade_GLAAnthraxGamma ; End Behavior = DestroyDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_RocketBuggy_CrushEffect End Behavior = CreateCrateDie ModuleTag_14 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_15 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End ; Behavior = GrantUpgradeCreate ModuleTag_22 ; UpgradeToGrant = RocketBuggyToxinUpgrade ; End ; Units that can gain experience can't have GrantUpgradeCreate or they crash savegames. ; Behavior = GrantUpgradeCreate ModuleTag_23 ; UpgradeToGrant = Upgrade_GLAAnthraxBeta ; End Geometry = BOX GeometryMajorRadius = 13.0 GeometryMinorRadius = 9.0 GeometryHeight = 7.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;GLA Combat Bike Object Chem_GLAVehicleCombatBike ; *** ART Parameters *** SelectPortrait = SUComBike_L ButtonImage = SUComBike UpgradeCameo1 = Upgrade_GLAJunkRepair ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ;Normal Bike ;------------------------------ DefaultConditionState Model = UVComBike WeaponFireFXBone = PRIMARY Muzzle_B WeaponLaunchBone = PRIMARY RocketFX03 WeaponMuzzleFlash = PRIMARY MuzzleFX_B ParticleSysBone = SMOKE CombatBikeSmokeLight HideSubObject = BOMBBIKE ; Hide from all states except terrorist (rider 5) End AliasConditionState RIDER1 AliasConditionState RIDER1 MOVING AliasConditionState RIDER6 AliasConditionState RIDER6 MOVING AliasConditionState RIDER7 AliasConditionState RIDER7 MOVING ConditionState = REALLYDAMAGED Model = UVComBike_d End AliasConditionState RIDER1 REALLYDAMAGED AliasConditionState RIDER1 MOVING REALLYDAMAGED AliasConditionState RIDER6 REALLYDAMAGED AliasConditionState RIDER6 MOVING REALLYDAMAGED AliasConditionState RIDER7 REALLYDAMAGED AliasConditionState RIDER7 MOVING REALLYDAMAGED ConditionState = TOPPLED Model = UVComBike_F Animation = UVComBike_F.UVComBike_F AnimationMode = ONCE End ConditionState = TOPPLED REALLYDAMAGED Model = UVComBike_dF Animation = UVComBike_DF.UVComBike_DF AnimationMode = ONCE End ConditionState = RIDER1 MOVING CENTER_TO_LEFT Model = UVComBike_A1 Animation = UVComBike_A1.UVComBike_A1 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING CENTER_TO_LEFT AliasConditionState RIDER7 MOVING CENTER_TO_LEFT ConditionState = RIDER1 MOVING CENTER_TO_LEFT REALLYDAMAGED Model = UVComBike_A1d Animation = UVComBike_A1D.UVComBike_A1D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING CENTER_TO_LEFT REALLYDAMAGED AliasConditionState RIDER7 MOVING CENTER_TO_LEFT REALLYDAMAGED ConditionState = RIDER1 MOVING LEFT_TO_CENTER Model = UVComBike_A1 Animation = UVComBike_A1.UVComBike_A1 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING LEFT_TO_CENTER AliasConditionState RIDER7 MOVING LEFT_TO_CENTER ConditionState = RIDER1 MOVING LEFT_TO_CENTER REALLYDAMAGED Model = UVComBike_A1d Animation = UVComBike_A1D.UVComBike_A1D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING LEFT_TO_CENTER REALLYDAMAGED AliasConditionState RIDER7 MOVING LEFT_TO_CENTER REALLYDAMAGED ConditionState = RIDER1 MOVING CENTER_TO_RIGHT Model = UVComBike_A2 Animation = UVComBike_A2.UVComBike_A2 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING CENTER_TO_RIGHT AliasConditionState RIDER7 MOVING CENTER_TO_RIGHT ConditionState = RIDER1 MOVING CENTER_TO_RIGHT REALLYDAMAGED Model = UVComBike_A2d Animation = UVComBike_A2D.UVComBike_A2D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING CENTER_TO_RIGHT REALLYDAMAGED AliasConditionState RIDER7 MOVING CENTER_TO_RIGHT REALLYDAMAGED ConditionState = RIDER1 MOVING RIGHT_TO_CENTER Model = UVComBike_A2 Animation = UVComBike_A2.UVComBike_A2 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING RIGHT_TO_CENTER AliasConditionState RIDER7 MOVING RIGHT_TO_CENTER ConditionState = RIDER1 MOVING RIGHT_TO_CENTER REALLYDAMAGED Model = UVComBike_A2d Animation = UVComBike_A2D.UVComBike_A2D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING RIGHT_TO_CENTER REALLYDAMAGED AliasConditionState RIDER7 MOVING RIGHT_TO_CENTER REALLYDAMAGED ;Terror Bike ;------------------------------ ConditionState RIDER5 Model = UVComBike WeaponFireFXBone = PRIMARY Muzzle_B WeaponLaunchBone = PRIMARY RocketFX03 WeaponMuzzleFlash = PRIMARY MuzzleFX_B ParticleSysBone = SMOKE CombatBikeSmokeLight ShowSubObject = BOMBBIKE End AliasConditionState RIDER5 MOVING ConditionState = REALLYDAMAGED RIDER5 Model = UVComBike_d ShowSubObject = BOMBBIKE End AliasConditionState RIDER5 MOVING REALLYDAMAGED ConditionState = TOPPLED RIDER5 Model = UVComBike_F Animation = UVComBike_F.UVComBike_F AnimationMode = ONCE ShowSubObject = BOMBBIKE End ConditionState = TOPPLED REALLYDAMAGED RIDER5 Model = UVComBike_dF Animation = UVComBike_DF.UVComBike_DF AnimationMode = ONCE ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING CENTER_TO_LEFT Model = UVComBike_A1 Animation = UVComBike_A1.UVComBike_A1 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING CENTER_TO_LEFT REALLYDAMAGED Model = UVComBike_A1d Animation = UVComBike_A1D.UVComBike_A1D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING LEFT_TO_CENTER Model = UVComBike_A1 Animation = UVComBike_A1.UVComBike_A1 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING LEFT_TO_CENTER REALLYDAMAGED Model = UVComBike_A1d Animation = UVComBike_A1D.UVComBike_A1D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING CENTER_TO_RIGHT Model = UVComBike_A2 Animation = UVComBike_A2.UVComBike_A2 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING CENTER_TO_RIGHT REALLYDAMAGED Model = UVComBike_A2d Animation = UVComBike_A2D.UVComBike_A2D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING RIGHT_TO_CENTER Model = UVComBike_A2 Animation = UVComBike_A2.UVComBike_A2 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING RIGHT_TO_CENTER REALLYDAMAGED Model = UVComBike_A2d Animation = UVComBike_A2D.UVComBike_A2D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ;Gun Bike ;------------------------------ ConditionState = RIDER2 Model = UVComBikeG End AliasConditionState RIDER2 MOVING AliasConditionState RIDER4 AliasConditionState RIDER4 MOVING ConditionState = RIDER2 REALLYDAMAGED Model = UVComBikeG_d End AliasConditionState RIDER2 MOVING REALLYDAMAGED AliasConditionState RIDER4 REALLYDAMAGED AliasConditionState RIDER4 MOVING REALLYDAMAGED ConditionState = RIDER2 MOVING CENTER_TO_LEFT Model = UVComBikeG Animation = UVComBikeG_A1.UVComBikeG_A1 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING CENTER_TO_LEFT ConditionState = RIDER2 MOVING CENTER_TO_LEFT REALLYDAMAGED Model = UVComBikeG_d Animation = UVComBikeG_A1.UVComBikeG_A1 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING CENTER_TO_LEFT REALLYDAMAGED ConditionState = RIDER2 MOVING LEFT_TO_CENTER Model = UVComBikeG Animation = UVComBikeG_A1.UVComBikeG_A1 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING LEFT_TO_CENTER ConditionState = RIDER2 MOVING LEFT_TO_CENTER REALLYDAMAGED Model = UVComBikeG_d Animation = UVComBikeG_A1.UVComBikeG_A1 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING LEFT_TO_CENTER REALLYDAMAGED ConditionState = RIDER2 MOVING CENTER_TO_RIGHT Model = UVComBikeG Animation = UVComBikeG_A2.UVComBikeG_A2 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING CENTER_TO_RIGHT ConditionState = RIDER2 MOVING CENTER_TO_RIGHT REALLYDAMAGED Model = UVComBikeG_d Animation = UVComBikeG_A2.UVComBikeG_A2 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING CENTER_TO_RIGHT REALLYDAMAGED ConditionState = RIDER2 MOVING RIGHT_TO_CENTER Model = UVComBikeG Animation = UVComBikeG_A2.UVComBikeG_A2 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING RIGHT_TO_CENTER ConditionState = RIDER2 MOVING RIGHT_TO_CENTER REALLYDAMAGED Model = UVComBikeG_d Animation = UVComBikeG_A2.UVComBikeG_A2 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING RIGHT_TO_CENTER REALLYDAMAGED ;Missile Bike ;------------------------------ ConditionState = RIDER3 Model = UVComBikeTN End AliasConditionState RIDER3 MOVING ConditionState = RIDER3 REALLYDAMAGED Model = UVComBikeTN_d End AliasConditionState RIDER3 MOVING REALLYDAMAGED ConditionState = RIDER3 MOVING CENTER_TO_LEFT Model = UVComBikeTN_A1 Animation = UVComBikeTN_A1.UVComBikeTN_A1 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING CENTER_TO_LEFT REALLYDAMAGED Model = UVComBikeTN_A1d Animation = UVComBikeTN_A1D.UVComBikeTN_A1D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING LEFT_TO_CENTER Model = UVComBikeTN_A1 Animation = UVComBikeTN_A1.UVComBikeTN_A1 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING LEFT_TO_CENTER REALLYDAMAGED Model = UVComBikeTN_A1d Animation = UVComBikeTN_A1D.UVComBikeTN_A1D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING CENTER_TO_RIGHT Model = UVComBikeTN_A2 Animation = UVComBikeTN_A2D.UVComBikeTN_A2D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING CENTER_TO_RIGHT REALLYDAMAGED Model = UVComBikeTN_A2d Animation = UVComBikeTN_A2D.UVComBikeTN_A2D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING RIGHT_TO_CENTER Model = UVComBikeTN_A2 Animation = UVComBikeTN_A2.UVComBikeTN_A2 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING RIGHT_TO_CENTER REALLYDAMAGED Model = UVComBikeTN_A2d Animation = UVComBikeTN_A2D.UVComBikeTN_A2D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End TrackMarks = EXTireTrack03.tga Dust = CombatBikeDust DirtSpray = CombatBikeDirtSpray PowerslideSpray = CombatBikeDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 LeftRearTireBone = Tire00 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End Draw = W3DModelDraw ModuleTag_Rider01 OkToChangeModelColor = Yes DefaultConditionState ;************************************************** ;*** Must have a default model in order to see ;*** house color!!! ;************************************************** Model = UIWrkr_SKN ;WeaponFireFXBone = PRIMARY Muzzle ;WeaponLaunchBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX End AliasConditionState MOVING ;Worker animations ;----------------------- ConditionState = RIDER1 Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER1 MOVING Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER1 MOVING CENTER_TO_LEFT Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER1 MOVING LEFT_TO_CENTER Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER1 MOVING CENTER_TO_RIGHT Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER1 MOVING RIGHT_TO_CENTER Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ;Rebel animations ;----------------------- ConditionState = RIDER2 Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER2 MOVING Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER2 MOVING CENTER_TO_LEFT Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER2 MOVING LEFT_TO_CENTER Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER2 MOVING CENTER_TO_RIGHT Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER2 MOVING RIGHT_TO_CENTER Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ;RPG Trooper animations ;----------------------- ConditionState = RIDER3 Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER3 MOVING Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER3 MOVING CENTER_TO_LEFT Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER3 MOVING LEFT_TO_CENTER Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER3 MOVING CENTER_TO_RIGHT Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER3 MOVING RIGHT_TO_CENTER Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ;Jarmen Kell animations ;----------------------- ConditionState = RIDER4 Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER4 MOVING Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER4 MOVING CENTER_TO_LEFT Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER4 MOVING LEFT_TO_CENTER Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER4 MOVING CENTER_TO_RIGHT Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER4 MOVING RIGHT_TO_CENTER Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ;Terrorist animations ;----------------------- ConditionState = RIDER5 Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A5 AnimationMode = LOOP End ConditionState = RIDER5 MOVING Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A4 AnimationMode = LOOP End ConditionState = RIDER5 MOVING CENTER_TO_LEFT Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A1 AnimationMode = ONCE End ConditionState = RIDER5 MOVING LEFT_TO_CENTER Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER5 MOVING CENTER_TO_RIGHT Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A2 AnimationMode = ONCE End ConditionState = RIDER5 MOVING RIGHT_TO_CENTER Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A2 AnimationMode = ONCE_BACKWARDS End ;Hijacker animations ;----------------------- ConditionState = RIDER6 Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER6 MOVING Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER6 MOVING CENTER_TO_LEFT Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER6 MOVING LEFT_TO_CENTER Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER6 MOVING CENTER_TO_RIGHT Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER6 MOVING RIGHT_TO_CENTER Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ;Saboteur animations ;----------------------- ConditionState = RIDER7 Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER7 MOVING Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER7 MOVING CENTER_TO_LEFT Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER7 MOVING LEFT_TO_CENTER Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER7 MOVING CENTER_TO_RIGHT Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER7 MOVING RIGHT_TO_CENTER Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ConditionState = TOPPLED Model = None End AliasConditionState TOPPLED MOVING End ; ***DESIGN parameters *** DisplayName = OBJECT:CombatBike Side = GLAToxinGeneral EditorSorting = VEHICLE TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY NONE End WeaponSet Conditions = WEAPON_RIDER2 Weapon = PRIMARY GLARebelBikerMachineGun End WeaponSet Conditions = WEAPON_RIDER3 Weapon = PRIMARY Chem_TunnelDefenderBikerRocketWeapon End WeaponSet Conditions = WEAPON_RIDER3 PLAYER_UPGRADE Weapon = PRIMARY Chem_TunnelDefenderBikerRocketWeaponGamma End WeaponSet Conditions = WEAPON_RIDER4 Weapon = PRIMARY GLABikerKellSniperRifle Weapon = SECONDARY GLAJarmenKellVehiclePilotSniperRifle AutoChooseSources = SECONDARY NONE End WeaponSet ;Kill himself so we can use FireWeaponWhenDead to fire the real weapon -- and use UNRESISTABLE ;damage to do ini logic for type of death to play -- unresistable for success. Conditions = WEAPON_RIDER5 Weapon = PRIMARY TerroristSuicideWeapon End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End BuildCost = 550 BuildTime = 4.0 ;in seconds VisionRange = 180 ShroudClearingRange = 300 Prerequisites Object = Chem_GLAArmsDealer End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience ;CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ;CommandSet = Chem_GLAVehicleCombatBikeCommandSet ****COMMANDSET is overwritten in RiderChangeContain! ; *** AUDIO Parameters *** VoiceSelect = CombatCycleVoiceSelect VoiceMove = CombatCycleVoiceMove VoiceAttack = CombatCycleVoiceAttack SoundMoveStart = CombatBikeMoveStart SoundMoveStartDamaged = CombatBikeMoveStart VoiceGuard = CombatCycleVoiceMove SoundEnter = CombatCycleSwitchRider UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = CombatCycleVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = RocketBuggyLand TruckPowerslideSound = CombatBikeMoveStart VoiceCrush = CombatCycleVoiceMove VoiceEnter = CombatCycleVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE CLIFF_JUMPER Body = ActiveBody ModuleTag_02 MaxHealth = 100 InitialHealth = 100 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 0 ; turn rate, in degrees per sec NaturalTurretAngle = 0 ControlledWeaponSlots = PRIMARY SECONDARY End AutoAcquireEnemiesWhenIdle = No End Locomotor = SET_NORMAL CombatBikeGroundLocomotor CombatBikeCliffLocomotor Locomotor = SET_SLUGGISH CombatBikeTerroristGroundLocomotor CombatBikeTerroristCliffLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 15.0 End Behavior = SlowDeathBehavior DeathTag_04 ExemptStatus = STATUS_RIDER1 STATUS_RIDER2 STATUS_RIDER3 STATUS_RIDER4 STATUS_RIDER5 STATUS_RIDER6 STATUS_RIDER7 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_05 RequiredStatus = STATUS_RIDER1 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = INITIAL OCL_WorkerFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_06 RequiredStatus = STATUS_RIDER2 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = INITIAL OCL_RebelFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_07 RequiredStatus = STATUS_RIDER3 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = INITIAL OCL_TunnelDefenderFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_08 RequiredStatus = STATUS_RIDER4 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = INITIAL OCL_JarmenKellFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_09 RequiredStatus = STATUS_RIDER5 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = INITIAL OCL_TerroristFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_10 RequiredStatus = STATUS_RIDER6 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = INITIAL OCL_HijackerFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_11 RequiredStatus = STATUS_RIDER7 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = INITIAL OCL_SaboteurFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = AutoHealBehavior ModuleTag_08 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = WeaponSetUpgrade ModuleTag_09 TriggeredBy = Chem_Upgrade_GLAAnthraxGamma End ;Create the hulk after the toppling is complete (not killed until topple anim finished). Behavior = CreateObjectDie ModuleTag_10 DeathTypes = NONE +TOPPLED CreationList = OCL_CombatBike_ToppledHulk End Behavior = DestroyDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED +TOPPLED End ; A crushing defeat Behavior = FXListDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_RocketBuggy_CrushEffect End Behavior = CreateCrateDie ModuleTag_14 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_15 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = RiderChangeContain ModuleTag_16 ;A list of each valid rider that is allowed to ride this object. Each rider is ;assigned a modelcondition state, a weaponset flag, an object status bit, and ;a commandset override. The actual object is hidden inside the container so the ;visible rider is fluff. Also riders are deleted (not killed) when the bike is ;destroyed, so all deaths must be OCLs on the bike. Rider1 = Chem_GLAInfantryWorker RIDER1 WEAPON_RIDER1 STATUS_RIDER1 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL Rider2 = Chem_GLAInfantryRebel RIDER2 WEAPON_RIDER2 STATUS_RIDER2 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL Rider3 = Chem_GLAInfantryTunnelDefender RIDER3 WEAPON_RIDER3 STATUS_RIDER3 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL Rider4 = Chem_GLAInfantryJarmenKell RIDER4 WEAPON_RIDER4 STATUS_RIDER4 GLAVehicleCombatBikeJarmenKellCommandSet SET_NORMAL Rider5 = Chem_GLAInfantryTerrorist RIDER5 WEAPON_RIDER5 STATUS_RIDER5 GLAVehicleCombatBikeDefaultCommandSet SET_SLUGGISH Rider6 = GLAInfantryHijacker RIDER6 WEAPON_RIDER6 STATUS_RIDER6 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL Rider7 = GLAInfantrySaboteur RIDER7 WEAPON_RIDER7 STATUS_RIDER7 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL ScuttleDelay = 1500 ScuttleStatus = TOPPLED ;Standard TransportContain stuff Slots = 1 InitialPayload = Chem_GLAInfantryRebel 1 ScatterNearbyOnExit = No HealthRegen%PerSec = 0 DamagePercentToUnits = 100% ; This module will Delete the rider on death, but we need to kill him as well so he doesn't pick up the bike's salvage crate. BurnedDeathToUnits = No ; And no Burned death. AllowInsideKindOf = INFANTRY ExitDelay = 250 NumberOfExitPaths = 1 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting End Behavior = AnimationSteeringUpdate ModuleTag_17 MinTransitionTime = 300 End ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death18 ; RequiredStatus = STATUS_RIDER5 ; DeathWeapon = SuicideBikeBomb ; StartsActive = Yes ; DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED ; End ; I have just pulled my ripcord, and this ain't no parachute! Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death04 RequiredStatus = STATUS_RIDER5 DeathWeapon = SuicideDynamitePack StartsActive = Yes ; turned on by upgrade DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED End Behavior = FireWeaponWhenDeadBehavior ModuleTag91 RequiredStatus = STATUS_RIDER5 DeathWeapon = Chem_SuicideWeaponGamma StartsActive = No TriggeredBy = Chem_Upgrade_GLAAnthraxGamma RequiresAllTriggers = Yes; DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED End; Behavior = FireWeaponWhenDeadBehavior ModuleTag_92 RequiredStatus = STATUS_RIDER5 DeathWeapon = Chem_SuicideWeaponBeta StartsActive = No ; turned on by upgrade TriggeredBy = Upgrade_GLAAnthraxBeta RequiresAllTriggers = Yes ;TriggeredBy is an AND, not an OR like it normally is ConflictsWith = Chem_Upgrade_GLAAnthraxGamma End Behavior = FireWeaponWhenDeadBehavior ModuleTag_93 RequiredStatus = STATUS_RIDER5 DeathWeapon = Chem_SuicideWeapon StartsActive = No ; turned on by upgrade ConflictsWith = Upgrade_GLAAnthraxBeta Chem_Upgrade_GLAAnthraxGamma End ; Units that can gain experience can't have GrantUpgradeCreate or they crash savegames. ; Behavior = GrantUpgradeCreate ModuleTag_94 ; UpgradeToGrant = Upgrade_GLAAnthraxBeta ; End ;//////////////// Behavior = StealthUpdate ModuleTag_19 UseRiderStealth = Yes ;StealthDelay = 2000 ; msec ;StealthForbiddenConditions = ATTACKING ;InnateStealth = Yes ;OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 11.0 GeometryMinorRadius = 2.5 GeometryHeight = 7.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Chem_GLAVehicleQuadCannon ; *** ART Parameters *** SelectPortrait = SUQuadCannon_L ButtonImage = SUQuadCannon UpgradeCameo1 = Upgrade_GLAAPBullets UpgradeCameo2 = Upgrade_GLAJunkRepair ;UpgradeCameo3 = XXX ;UpgradeCameo4 = XXX ;UpgradeCameo5 = XXX Draw = W3DTankTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UVQuadCann Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY BarrelMS WeaponMuzzleFlash = PRIMARY BarrelFX WeaponRecoilBone = PRIMARY Barrel WeaponFireFXBone = SECONDARY BarrelMS WeaponMuzzleFlash = SECONDARY BarrelFX WeaponRecoilBone = SECONDARY Barrel ShowSubObject = TURRET HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04 ; Since we are showing one of three turrets, we need to then hide the subobject muzzleflash End ConditionState = REALLYDAMAGED Model = UVQuadCann_D Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY BarrelMS WeaponMuzzleFlash = PRIMARY BarrelFX WeaponRecoilBone = PRIMARY Barrel WeaponFireFXBone = SECONDARY BarrelMS WeaponMuzzleFlash = SECONDARY BarrelFX WeaponRecoilBone = SECONDARY Barrel ShowSubObject = TURRET HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04 End ConditionState = RUBBLE Model = UVQuadCann_D Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY BarrelMS WeaponMuzzleFlash = PRIMARY BarrelFX WeaponRecoilBone = PRIMARY Barrel WeaponFireFXBone = SECONDARY BarrelMS WeaponMuzzleFlash = SECONDARY BarrelFX WeaponRecoilBone = SECONDARY Barrel ShowSubObject = TURRET HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE Model = UVQuadCann Turret = TURRETUP01 TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponRecoilBone = PRIMARY BarrelUp01 WeaponFireFXBone = SECONDARY BarrelUp01MS WeaponMuzzleFlash = SECONDARY BarrelUp01FX WeaponRecoilBone = SECONDARY BarrelUp01 ShowSubObject = TURRETUP01 HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED Model = UVQuadCann Turret = TURRETUP01 TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponRecoilBone = PRIMARY BarrelUp01 WeaponFireFXBone = SECONDARY BarrelUp01MS WeaponMuzzleFlash = SECONDARY BarrelUp01FX WeaponRecoilBone = SECONDARY BarrelUp01 ShowSubObject = TURRETUP01 HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE Model = UVQuadCann Turret = TURRETUP01 TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponRecoilBone = PRIMARY BarrelUp01 WeaponFireFXBone = SECONDARY BarrelUp01MS WeaponMuzzleFlash = SECONDARY BarrelUp01FX WeaponRecoilBone = SECONDARY BarrelUp01 ShowSubObject = TURRETUP01 HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO Model = UVQuadCann Turret = TURRETUP02 TurretPitch = TURRETEL02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponRecoilBone = PRIMARY BarrelUp02 WeaponFireFXBone = SECONDARY BarrelUp02MS WeaponMuzzleFlash = SECONDARY BarrelUp02FX WeaponRecoilBone = SECONDARY BarrelUp02 ShowSubObject = TURRETUP02 HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED Model = UVQuadCann_D Turret = TURRETUP02 TurretPitch = TURRETEL02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponRecoilBone = PRIMARY BarrelUp02 WeaponFireFXBone = SECONDARY BarrelUp02MS WeaponMuzzleFlash = SECONDARY BarrelUp02FX WeaponRecoilBone = SECONDARY BarrelUp02 ShowSubObject = TURRETUP02 HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE Model = UVQuadCann_D Turret = TURRETUP02 TurretPitch = TURRETEL02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponRecoilBone = PRIMARY BarrelUp02 WeaponFireFXBone = SECONDARY BarrelUp02MS WeaponMuzzleFlash = SECONDARY BarrelUp02FX WeaponRecoilBone = SECONDARY BarrelUp02 ShowSubObject = TURRETUP02 HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04 End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This unit doesn't powerslide. End ; ***DESIGN parameters *** DisplayName = OBJECT:QuadCannon Side = GLAToxinGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY QuadCannonGun Weapon = SECONDARY QuadCannonGunAir End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY QuadCannonGunUpgradeOne Weapon = SECONDARY QuadCannonGunUpgradeOneAir End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY QuadCannonGunUpgradeTwo Weapon = SECONDARY QuadCannonGunUpgradeTwoAir End ArmorSet Conditions = None Armor = QuadCannonArmor DamageFX = TankDamageFX End BuildCost = 750 BuildTime = 6.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Chem_GLAArmsDealer End CommandSet = GLAVehicleQuadCannon ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = QuadCannonVoiceSelect VoiceMove = QuadCannonVoiceMove VoiceAttack = QuadCannonVoiceAttack VoiceAttackAir = QuadCannonVoiceAttackAir SoundMoveStart = QuadCannonMoveStart SoundMoveStartDamaged = QuadCannonMoveStart VoiceGuard = QuadCannonVoiceMove UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = QuadCannonVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = NoSound TruckPowerslideSound = NoSound VoiceSalvage = QuadCannonVoiceSalvage VoiceCrush = QuadCannonVoiceCrush VoiceEnter = QuadCannonVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 440 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 360 TurretPitchRate = 360 AllowsPitch = Yes ControlledWeaponSlots = PRIMARY SECONDARY End AutoAcquireEnemiesWhenIdle = Yes Stealthed MoodAttackCheckRate = 250 End Locomotor = SET_NORMAL QuadCannonLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 40.0 End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 411 DestructionDelay = 150 DestructionDelayVariance = 250 OCL = FINAL OCL_QuadCannonDeathEffect FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = AutoHealBehavior ModuleTag_06 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = FlammableUpdate ModuleTag_08 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_09 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End ; A crushing defeat Behavior = FXListDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_11 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = WeaponBonusUpgrade ModuleTag_12 TriggeredBy = Upgrade_GLAAPBullets End Behavior = DestroyDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED End Geometry = BOX GeometryMajorRadius = 18.0 GeometryMinorRadius = 7.0 GeometryHeight = 11.5 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Chem_GLAVehicleToxinTruck ; *** ART Parameters *** SelectPortrait = SUToxinTractor_L ButtonImage = SUToxinTractor UpgradeCameo1 = Chem_Upgrade_GLAAnthraxGamma UpgradeCameo2 = Upgrade_GLAJunkRepair ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UVToxinTrk Turret = Turret TurretPitch = TurretEL ShowSubObject = Turret HideSubObject = TurretUP01 TurretUP02 WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA WeaponFireFXBone = SECONDARY Spigot WeaponLaunchBone = SECONDARY Spigot End AliasConditionState WEAPONSET_PLAYER_UPGRADE ConditionState = USING_WEAPON_B Model = UVToxinTrk ParticleSysBone = none AnthraxPuddleContinuous END ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE Model = UVToxinTrk ParticleSysBone = none AnthraxGammaPuddleContinuous END ConditionState = REALLYDAMAGED Model = UVToxinTrk_D End AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE AliasConditionState RUBBLE AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE ConditionState = USING_WEAPON_B REALLYDAMAGED Model = UVToxinTrk_D ParticleSysBone = none AnthraxPuddleContinuous END ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE Model = UVToxinTrk_D ParticleSysBone = none AnthraxGammaPuddleContinuous END ; -------------- Turret change #1 ConditionState = WEAPONSET_CRATEUPGRADE_ONE Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB End AliasConditionState WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE ConditionState = USING_WEAPON_B WEAPONSET_CRATEUPGRADE_ONE Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB ParticleSysBone = none AnthraxPuddleContinuous END ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB ParticleSysBone = none AnthraxGammaPuddleContinuous END ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE Model = UVToxinTrk_D Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB End AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE AliasConditionState RUBBLE WEAPONSET_CRATEUPGRADE_ONE AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE WEAPONSET_CRATEUPGRADE_ONE ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE Model = UVToxinTrk_D Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB ParticleSysBone = none AnthraxPuddleContinuous END ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE Model = UVToxinTrk_D Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB ParticleSysBone = none AnthraxGammaPuddleContinuous END ; -------------- Turret change #2 ConditionState = WEAPONSET_CRATEUPGRADE_TWO Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC End AliasConditionState WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO ConditionState = USING_WEAPON_B WEAPONSET_CRATEUPGRADE_TWO Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC ParticleSysBone = none AnthraxPuddleContinuous END ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC ParticleSysBone = none AnthraxGammaPuddleContinuous END ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO Model = UVToxinTrk_D Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC End AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO AliasConditionState RUBBLE WEAPONSET_CRATEUPGRADE_TWO AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE WEAPONSET_CRATEUPGRADE_TWO ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO Model = UVToxinTrk_D Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC ParticleSysBone = none AnthraxPuddleContinuous END ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO Model = UVToxinTrk_D Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC ParticleSysBone = none AnthraxGammaPuddleContinuous END TrackMarks = EXTireTrack.tga LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray End ; ***DESIGN parameters *** DisplayName = OBJECT:ToxinTruck Side = GLAToxinGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY ToxinTruckGunUpgraded Weapon = SECONDARY ToxinTruckSprayerUpgraded AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY Chem_ToxinTruckGunGamma Weapon = SECONDARY Chem_ToxinTruckSprayerGamma AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY ToxinTruckGunUpgradedPlusOne Weapon = SECONDARY ToxinTruckSprayerUpgradedPlusOne AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = CRATEUPGRADE_ONE PLAYER_UPGRADE Weapon = PRIMARY Chem_ToxinTruckGunGammaPlusOne Weapon = SECONDARY Chem_ToxinTruckSprayerGammaPlusOne AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY ToxinTruckGunUpgradedPlusTwo Weapon = SECONDARY ToxinTruckSprayerUpgradedPlusTwo AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = CRATEUPGRADE_TWO PLAYER_UPGRADE Weapon = PRIMARY Chem_ToxinTruckGunGammaPlusTwo Weapon = SECONDARY Chem_ToxinTruckSprayerGammaPlusTwo AutoChooseSources = SECONDARY NONE ;Special attack only End ArmorSet Conditions = None Armor = ToxinTruckArmor DamageFX = TruckDamageFX End BuildCost = 650 BuildTime = 5.0 ;in seconds VisionRange = 100 ShroudClearingRange = 200 Prerequisites Object = Chem_GLAArmsDealer End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = GLAVehicleToxinTruckCommandSet ; *** AUDIO Parameters *** VoiceSelect = ToxinTractorVoiceSelect VoiceMove = ToxinTractorVoiceMove VoiceGuard = ToxinTractorVoiceMove VoiceAttack = ToxinTractorVoiceAttack SoundMoveStart = ToxinTractorMoveStart SoundMoveStartDamaged = ToxinTractorMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = ToxinTractorVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = NoSound TruckPowerslideSound = NoSound VoiceCrush = ToxinTractorVoiceCrush VoiceEnter = ToxinTractorVoiceMove VoicePoisonLocation = ToxinTractorVoiceAttackContam End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER WEAPON_SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes Turret TurretTurnRate = 180 TurretPitchRate = 180 AllowsPitch = Yes MinPhysicalPitch = -20 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) TurretFireAngleSweep = PRIMARY 8 TurretSweepSpeedModifier = PRIMARY 0.5 ; Sweep slower than you turn ControlledWeaponSlots = PRIMARY End End Locomotor = SET_NORMAL ToxinTruckLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 5 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 0 DestructionDelayVariance = 200 FX = INITIAL FX_ToxinTractorDie OCL = INITIAL OCL_ToxinTractorDeathEffect FX = FINAL FX_ToxinTruckExplosionOneFinal End Behavior = InstantDeathBehavior ModuleTag_06 DeathTypes = NONE +CRUSHED +SPLATTED FX = FX_CarCrush OCL = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_07 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = WeaponSetUpgrade ModuleTag_08 ; the Toxin Tractor gets this upgrade if we either buy the upgrade, ; or if it gets HEROIC status TriggeredBy = Chem_Upgrade_GLAAnthraxGamma Upgrade_Veterancy_HEROIC End Behavior = TransitionDamageFX ModuleTag_11 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = AutoHealBehavior ModuleTag_12 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = FireOCLAfterWeaponCooldownUpdate ModuleTag_13 WeaponSlot = SECONDARY ConflictsWith = Chem_Upgrade_GLAAnthraxGamma Upgrade_Veterancy_HEROIC OCL = OCL_PoisonFieldUpgradedMedium MinShotsToCreateOCL = 4 OCLLifetimePerSecond = 10000 OCLLifetimeMaxCap = 180000 End Behavior = FireOCLAfterWeaponCooldownUpdate ModuleTag_14 WeaponSlot = SECONDARY TriggeredBy = Chem_Upgrade_GLAAnthraxGamma Upgrade_Veterancy_HEROIC OCL = OCL_PoisonFieldGammaMedium MinShotsToCreateOCL = 4 OCLLifetimePerSecond = 10000 OCLLifetimeMaxCap = 180000 End Behavior = FireWeaponWhenDeadBehavior ModuleTag_15 ;These two make the right damage field at death DeathWeapon = ToxinShellWeapon StartsActive = Yes ConflictsWith = Chem_Upgrade_GLAAnthraxGamma End Behavior = FireWeaponWhenDeadBehavior ModuleTag_16 DeathWeapon = Chem_ToxinShellWeaponGamma StartsActive = No TriggeredBy = Chem_Upgrade_GLAAnthraxGamma End Geometry = BOX GeometryMajorRadius = 13.0 GeometryMinorRadius = 9.0 GeometryHeight = 10.0 ; set to make the projectile stream look right GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Chem_GLAVehicleBombTruck ; *** ART Parameters *** SelectPortrait = SUBombTruck_L ButtonImage = SUBombTruck UpgradeCameo1 = Upgrade_GLABombTruckBioBomb UpgradeCameo2 = Upgrade_GLAJunkRepair UpgradeCameo3 = Chem_Upgrade_GLAAnthraxGamma ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes TrackMarks = EXTireTrack.tga DefaultConditionState Model = UVBMBTRUK Animation = UVBMBTRUK.UVBMBTRUK AnimationMode = LOOP ;Display the default bombload -- and the upgrades will handle the rest! HideSubObject = Bombload02 Bombload03 Bombload04 End ConditionState = REALLYDAMAGED Model = UVBMBTRUK_D Animation = UVBMBTRUK_D.UVBMBTRUK_D AnimationMode = LOOP End ConditionState = RUBBLE Model = UVBMBTRUK_D End LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 MidLeftFrontTireBone = Tire03 MidRightFrontTireBone = Tire04 LeftRearTireBone = Tire05 RightRearTireBone = Tire06 TireRotationMultiplier = 0.2 ; this * speed = rotation. Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide End ; ***DESIGN parameters *** DisplayName = OBJECT:BombTruck Side = GLAToxinGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TruckDamageFX End BuildCost = 1200 BuildTime = 15.0 ;in seconds VisionRange = 150 ; Used in attack move targeting ShroudClearingRange = 200 Prerequisites Object = Chem_GLAArmsDealer Object = Chem_GLAPalace End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Chem_GLAVehicleBombTruckCommandSet ; *** AUDIO Parameters *** VoiceSelect = BombTruckVoiceSelect VoiceMove = BombTruckVoiceMove VoiceGuard = BombTruckVoiceMove VoiceAttack = BombTruckVoiceAttack SoundMoveStart = BombTruckMoveStart SoundMoveStartDamaged = BombTruckMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = BombTruckVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = NoSound TruckLandingSound = RocketBuggyLand TruckPowerslideSound = NoSound DisguiseStarted = BombTruckDisguiseStarted DisguiseRevealedSuccess = BombTruckDisguiseRevealedSuccess DisguiseRevealedFailure = BombTruckDisguiseRevealedFailure VoiceEnter = BombTruckVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE DISGUISER CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 220.0 InitialHealth = 220.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 440 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End ExperienceValue = 50 50 50 50 ; Experience point value at each level IsTrainable = No ;Kris: Um, bomb trucks don't gain experience. ;Behavior = VeterancyGainCreate ModuleTag_03 ; StartingLevel = VETERAN ;End Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = No ATTACK_BUILDINGS End Locomotor = SET_NORMAL BombTruckLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 40.0 End Behavior = AutoHealBehavior ModuleTag_06 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = ProductionUpdate ModuleTag_07 ; nothing End Behavior = SlowDeathBehavior ModuleTag_08 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 5 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 0 DestructionDelayVariance = 200 FX = FINAL FX_BuggyNewDeathExplosion OCL = FINAL OCL_BombTruckDeathEffect End ;Behavior = DestroyDie ;nothing ;End ;************************************************************************************************ ;* WHICH BOMB DO WE USE??? ;* The complicated part is the part where we have 6 possible effect explosions based on ;* all the possible upgrade combinations. Note that bio weapons don't inflict damage through ;* the explosion. ;* ;* DAMAGE COMBINATIONS (NO EFFECTS): ;* 1) Normal ;* ;* EFFECT COMBINATIONS (NO DAMAGE): ;* 1) Normal (no upgrades) ;* 2) Anthrax (bio-bomb upgrade) ;* 3) Anthrax (bio-bomb and Anthrax gamma upgrade) ;************************************************************************************************ ;************************************************************************************************ ;* EXCLUSIVE DAMAGE POSSIBILITY 1 -- Normal explosion (can't have high-explosive upgrade) ;************************************************************************************************ Behavior = FireWeaponWhenDeadBehavior ModuleTag_09 DeathWeapon = BombTruckDefaultBombDamage StartsActive = Yes End ;************************************************************************************************ ;* EXCLUSIVE EFFECT COMBINATION 1 - Regular explosion (no upgrades) ;************************************************************************************************ Behavior = FireWeaponWhenDeadBehavior ModuleTag_11 DeathWeapon = BombTruckDefaultBombEffect StartsActive = Yes ; turned on by upgrade ConflictsWith = Upgrade_GLABombTruckBioBomb End ;************************************************************************************************ ;* EXCLUSIVE EFFECT COMBINATION 2 - Bio explosion ;* Requires: Anthrax upgrade ;* Can't have: Anthrax upgrade, high explosive upgrade ;************************************************************************************************ Behavior = FireWeaponWhenDeadBehavior ModuleTag_12 DeathWeapon = BombTruckAnthraxBombEffect StartsActive = No ; turned on by upgrade TriggeredBy = Upgrade_GLABombTruckBioBomb ConflictsWith = Chem_Upgrade_GLAAnthraxGamma End ;************************************************************************************************ ;* EXCLUSIVE EFFECT COMBINATION 3 - Anthrax Gamma explosion ;* Requires: Bio upgrade and Anthrax Gamma upgrade ;************************************************************************************************ Behavior = FireWeaponWhenDeadBehavior ModuleTag_13 DeathWeapon = BombTruckAnthraxGammaBombEffect StartsActive = No ; turned on by upgrade TriggeredBy = Upgrade_GLABombTruckBioBomb Chem_Upgrade_GLAAnthraxGamma RequiresAllTriggers = Yes End ;------------------------------------------------------------------- ; Now we get to display the payload based on upgrades!!! ;------------------------------------------------------------------- Behavior = SubObjectsUpgrade ModuleTag_17 ;*** Bio bomb load *** TriggeredBy = Upgrade_GLABombTruckBioBomb ShowSubObjects = Bombload02 HideSubObjects = Bombload01 Bombload03 Bombload04 End ;------------------------------------------------------------------- Behavior = SpecialAbility ModuleTag_20 SpecialPowerTemplate = SpecialAbilityDisguiseAsVehicle UpdateModuleStartsAttack = Yes InitiateSound = BombTruckVoiceDisguise End Behavior = SpecialAbilityUpdate ModuleTag_21 SpecialPowerTemplate = SpecialAbilityDisguiseAsVehicle StartAbilityRange = 1000000.0 ApproachRequiresLOS = No End Behavior = StealthUpdate ModuleTag_22 StealthDelay = 1 DisguisesAsTeam = Yes RevealDistanceFromTarget = 100.0f OrderIdleEnemiesToAttackMeUponReveal = Yes DisguiseFX = FX_BombTruckDisguise DisguiseRevealFX = FX_BombTruckDisguiseReveal InnateStealth = Yes DisguiseTransitionTime = 2000 DisguiseRevealTransitionTime = 1000 End ; A crushing defeat Behavior = FXListDie ModuleTag_23 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_24 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_25 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_26 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_28 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = DestroyDie ModuleTag_29 DeathTypes = NONE +CRUSHED +SPLATTED End Geometry = BOX GeometryMajorRadius = 19.0 GeometryMinorRadius = 8.0 GeometryHeight = 11.5 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Chem_GLAVehicleScudLauncher ; *** ART Parameters *** SelectPortrait = SUScudLauncher_L ButtonImage = SUScudLauncher UpgradeCameo1 = Upgrade_GLAJunkRepair UpgradeCameo2 = Chem_Upgrade_GLAAnthraxGamma ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ProjectileBoneFeedbackEnabledSlots = PRIMARY SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset DefaultConditionState Model = UVScudLchr Turret = TURRET TurretPitch = TURRETEL ShowSubObject = TURRET HideSubObject = TURRETUP01 TURRETUP02 WeaponLaunchBone = PRIMARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ConditionState = REALLYDAMAGED Model = UVScudLchr_d End AliasConditionState = RUBBLE ConditionState = WEAPONSET_CRATEUPGRADE_ONE Model = UVScudLchr Turret = TURRETUP01 TurretPitch = TURRETEL01 ShowSubObject = TURRETUP01 HideSubObject = TURRET TURRETUP02 WeaponLaunchBone = PRIMARY WeaponB WeaponLaunchBone = SECONDARY WeaponB End ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED Model = UVScudLchr_d Turret = TURRETUP01 TurretPitch = TURRETEL01 ShowSubObject = TURRETUP01 HideSubObject = TURRET TURRETUP02 WeaponLaunchBone = PRIMARY WeaponB WeaponLaunchBone = SECONDARY WeaponB End ConditionState = WEAPONSET_CRATEUPGRADE_TWO Model = UVScudLchr Turret = TURRETUP02 TurretPitch = TURRETEL02 ShowSubObject = TURRETUP02 HideSubObject = TURRET TURRETUP01 WeaponLaunchBone = PRIMARY WeaponC WeaponLaunchBone = SECONDARY WeaponC End ConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED Model = UVScudLchr_d Turret = TURRETUP02 TurretPitch = TURRETEL02 ShowSubObject = TURRETUP02 HideSubObject = TURRET TURRETUP01 WeaponLaunchBone = PRIMARY WeaponC WeaponLaunchBone = SECONDARY WeaponC End TrackMarks = EXTireTrack.tga Dust = ScudLauncherDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire05 LeftRearTireBone = Tire04 RightRearTireBone = Tire08 MidLeftFrontTireBone = Tire02 MidRightFrontTireBone = Tire06 MidLeftRearTireBone = Tire03 MidRightRearTireBone = Tire07 TireRotationMultiplier = 0.2 ; this * speed = rotation. ;PowerslideRotationAddition = 0.0 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:ScudLauncher Side = GLAToxinGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY SCUDLauncherGunAnthrax AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY Chem_SCUDLauncherGunAnthraxGamma AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY SCUDLauncherGunAnthraxPlusOne AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI End WeaponSet Conditions = PLAYER_UPGRADE CRATEUPGRADE_ONE Weapon = PRIMARY Chem_SCUDLauncherGunAnthraxGammaPlusOne AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY SCUDLauncherGunAnthraxPlusTwo AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI End WeaponSet Conditions = PLAYER_UPGRADE CRATEUPGRADE_TWO Weapon = PRIMARY Chem_SCUDLauncherGunAnthraxGammaPlusTwo AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End BuildCost = 1200 BuildTime = 15.0 ;in seconds VisionRange = 180 ShroudClearingRange = 300 Prerequisites Object = Chem_GLAArmsDealer Object = Chem_GLAPalace Science = SCIENCE_ScudLauncher End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Chem_GLAVehicleScudLauncherCommandSet ; *** AUDIO Parameters *** VoiceSelect = ScudLauncherVoiceSelect VoiceMove = ScudLauncherVoiceMove VoiceGuard = ScudLauncherVoiceMove VoiceAttack = ScudLauncherVoiceAttack SoundMoveStart = ScudLauncherMoveStart SoundMoveStartDamaged = ScudLauncherMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = ScudLauncherVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = NoSound TruckPowerslideSound = NoSound VoiceCrush = ScudLauncherVoiceCrush VoiceEnter = ScudLauncherVoiceMove VoicePrimaryWeaponMode = ScudLauncherVoiceModeHiEx VoiceSecondaryWeaponMode = ScudLauncherVoiceModeAnthrax End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY CAN_CAST_REFLECTIONS VEHICLE SALVAGER WEAPON_SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 180.0 InitialHealth = 180.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 360 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 60 ; turn rate, in degrees per sec TurretPitchRate = 60 FirePitch = 90 ; Instead of aiming pitchwise at the target, it will aim here AllowsPitch = Yes ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = No NotWhileAttacking End Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. End Locomotor = SET_NORMAL ScudLauncherLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 40.0 End Behavior = AutoHealBehavior ModuleTag_06 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ScudLauncherDamageTransition End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_09 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_SCUDLauncherDeathEffect FX = FINAL FX_ScudLauncherExplosionOneFinal End ; A crushing defeat Behavior = FXListDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag SalvageData CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = DestroyDie ModuleTag_22 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = WeaponSetUpgrade ModuleTag_23 TriggeredBy = Chem_Upgrade_GLAAnthraxGamma End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 11.5 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ; this unit is never really "built"; building one triggers the random building of ; one of the other chassis. If you want a *specific* chassis, choose it explicitly; ; if you want a chassis at random, specify this. Object Chem_GLAVehicleTechnical ; *** ART Parameters *** SelectPortrait = SUTechnical_L ButtonImage = SUTechnical Draw = W3DModelDraw ModuleTag_01 DefaultConditionState ; give it a model so it'll show up in WB Model = UVTechTrck End End ; set cost and time fields here or else they won't work BuildCost = 500 BuildTime = 5.0 ;in seconds ; Needed to get the Veterancy Overlays on top of the Technical with his build variations. ;------------------------------------------------------------ Behavior = VeterancyGainCreate ModuleTag_03 StartingLevel = VETERAN ScienceRequired = SCIENCE_TechnicalTraining End Side = GLAToxinGeneral EditorSorting = VEHICLE BuildVariations = GLAVehicleTechnicalChassisOne GLAVehicleTechnicalChassisTwo GLAVehicleTechnicalChassisThree KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE TRANSPORT End ;------------------------------------------------------------------------------ Object Chem_GLAVehicleTechnicalChassisOne ; *** ART Parameters *** SelectPortrait = SUTechnical_L ButtonImage = SUTechnical UpgradeCameo1 = Upgrade_GLAAPBullets UpgradeCameo2 = Upgrade_GLAJunkRepair ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 ExtraPublicBone = Dum_Turret DefaultConditionState Model = UVTechTrck End ConditionState = REALLYDAMAGED Model = UVTechTrck_d End ConditionState = RUBBLE Model = UVTechTrck_d End OkToChangeModelColor = Yes TrackMarks = EXTireTrack.tga Dust = TechnicalDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes AttachToBoneInAnotherModule = Dum_Turret ; ------------------ basic technical ------------------------ DefaultConditionState Model = UITech_SKN Turret = Dum-TurManMVR TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = MOVING Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End AliasConditionState = TURRET_ROTATE MOVING AliasConditionState = TURRET_ROTATE FIRING_A AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE RELOADING_A AliasConditionState = TURRET_ROTATE MOVING FIRING_A AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE MOVING RELOADING_A ConditionState = FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = BETWEEN_FIRING_SHOTS_A AliasConditionState = RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_ONE IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_TWO IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A End ; ***DESIGN parameters *** DisplayName = OBJECT:Technical Side = GLAToxinGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY TechnicalMachineGunWeapon End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY TechnicalCannonWeapon End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY TechnicalRPGWeapon End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TruckDamageFX End ;update cost and time fields in Object GLAVehicleTechnical, or else they won't work ;BuildCost = 300 ;BuildTime = 5.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Chem_GLAArmsDealer End ExperienceValue = 25 25 50 100 ;Experience point value at each level ExperienceRequired = 0 50 75 150 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = GLAVehicleTechnicalCommandSet ; *** AUDIO Parameters *** VoiceSelect = TechnicalVoiceSelect VoiceMove = TechnicalVoiceMove VoiceGuard = TechnicalVoiceMove VoiceAttack = TechnicalVoiceAttack SoundMoveStart = TechnicalMoveStart SoundMoveStartDamaged = TechnicalMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = TechnicalVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceSalvage = TechnicalVoiceSalvage VoiceCrush = TechnicalVoiceCrush VoiceUnload = TechnicalVoiceUnload VoiceEnter = TechnicalVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE TRANSPORT Behavior = VeterancyGainCreate ModuleTag_03 StartingLevel = VETERAN ScienceRequired = SCIENCE_TechnicalTraining End Body = ActiveBody ModuleTag_04 MaxHealth = 180 InitialHealth = 180 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 360 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_05 Turret TurretTurnRate = 240 ; turn rate, in degrees per sec NaturalTurretAngle = 0 MinIdleScanAngle = 30 ; in degrees off the natural turret angle MaxIdleScanAngle = 60 ; in degrees off the natural turret angle MinIdleScanInterval = 5000 ; in milliseconds MaxIdleScanInterval = 10000 ; in milliseconds ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL TechnicalLocomotor Behavior = PhysicsBehavior ModuleTag_06 Mass = 40.0 End Behavior = AutoHealBehavior ModuleTag_07 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = FlammableUpdate ModuleTag_09 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_10 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = DestroyDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_TechnicalJeep_CrushEffect End Behavior = CreateCrateDie ModuleTag_14 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = SlowDeathBehavior ModuleTag_15 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 500 DestructionDelayVariance = 1500 OCL = INITIAL OCL_TechnicalAirDeathStart FX = INITIAL FX_TechnicalAirDeathGroundPart OCL = FINAL OCL_RocketBuggyAirDeath FX = FINAL FX_RocketBuggyAirDeathAirPart ; This happens in the air End Behavior = TransportContain ModuleTag_16 Slots = 5 AllowInsideKindOf = INFANTRY DamagePercentToUnits = 10% GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting End Behavior = WeaponBonusUpgrade ModuleTag_17 ; Not a full weapon set switch, just a number tweak reflected in a weapon. TriggeredBy = Upgrade_GLAAPBullets End Geometry = BOX GeometryMajorRadius = 18.0 GeometryMinorRadius = 9.0 GeometryHeight = 7.5 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ObjectReskin Chem_GLAVehicleTechnicalChassisTwo Chem_GLAVehicleTechnicalChassisOne ; *** ART Parameters *** Draw = W3DTruckDraw ModuleTag_01 ExtraPublicBone = Dum_Turret DefaultConditionState Model = UVTechVan End ConditionState = REALLYDAMAGED Model = UVTechVan_d End ConditionState = RUBBLE Model = UVTechVan_d End OkToChangeModelColor = Yes TrackMarks = EXTireTrack.tga Dust = TechnicalDust ;DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes AttachToBoneInAnotherModule = Dum_Turret ; ------------------ basic technical ------------------------ DefaultConditionState Model = UITech_SKN Turret = Dum-TurManMVR TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = MOVING Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End AliasConditionState = TURRET_ROTATE MOVING AliasConditionState = TURRET_ROTATE FIRING_A AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE RELOADING_A AliasConditionState = TURRET_ROTATE MOVING FIRING_A AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE MOVING RELOADING_A ConditionState = FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = BETWEEN_FIRING_SHOTS_A AliasConditionState = RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_ONE IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_TWO IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A End ; Behavior = CreateObjectDie ModuleTag_13 ; DeathTypes = NONE +CRUSHED +SPLATTED ; CreationList = OCL_TechnicalVan_CrushEffect ; End Geometry = BOX GeometryMajorRadius = 16.0 GeometryMinorRadius = 8.0 GeometryHeight = 7.5 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ObjectReskin Chem_GLAVehicleTechnicalChassisThree Chem_GLAVehicleTechnicalChassisOne ; *** ART Parameters *** Draw = W3DTruckDraw ModuleTag_01 ExtraPublicBone = Dum_Turret DefaultConditionState Model = UVTechJeep End ConditionState = REALLYDAMAGED Model = UVTechJeep_d End ConditionState = RUBBLE Model = UVTechJeep_d End OkToChangeModelColor = Yes TrackMarks = EXTireTrack.tga Dust = TechnicalDust ;DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes AttachToBoneInAnotherModule = Dum_Turret ; ------------------ basic technical ------------------------ DefaultConditionState Model = UITech_SKN Turret = Dum-TurManMVR TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = MOVING Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End AliasConditionState = TURRET_ROTATE MOVING AliasConditionState = TURRET_ROTATE FIRING_A AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE RELOADING_A AliasConditionState = TURRET_ROTATE MOVING FIRING_A AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE MOVING RELOADING_A ConditionState = FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = BETWEEN_FIRING_SHOTS_A AliasConditionState = RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_ONE IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_TWO IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A End ; Behavior = CreateObjectDie ModuleTag_13 ; DeathTypes = NONE +CRUSHED +SPLATTED ; CreationList = OCL_TechnicalJeep_CrushEffect ; End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 9.0 GeometryHeight = 9.5 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ;The Marauder Tank, for the Warlord General. Object Chem_GLATankMarauder ; *** ART Parameters *** SelectPortrait = SUMarauder_L ButtonImage = SUMarauder UpgradeCameo1 = Upgrade_GLAToxinShells UpgradeCameo2 = Upgrade_GLAJunkRepair ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes ; no crate upgrade ConditionState = NONE Model = UVMarauder Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 TurretUp02 BarrelFX01 ; Since we are showing one of three turrets, we need to then hide the subobject muzzleflash WeaponFireFXBone = PRIMARY BarrelMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY BarrelFX WeaponLaunchBone = PRIMARY BarrelMS End ConditionState = REALLYDAMAGED Model = UVMarauder_d Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 TurretUp02 BarrelFX01 WeaponFireFXBone = PRIMARY BarrelMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY BarrelFX WeaponLaunchBone = PRIMARY BarrelMS End ConditionState = RUBBLE Model = UVMarauder_d Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 TurretUp02 BarrelFX01 WeaponFireFXBone = PRIMARY BarrelMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY BarrelFX WeaponLaunchBone = PRIMARY BarrelMS End ; crate upgrade 1 ConditionState = WEAPONSET_CRATEUPGRADE_ONE Model = UVMarauder Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret TurretUp02 BarrelUp01FX01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponRecoilBone = PRIMARY BarrelUp01 WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponLaunchBone = PRIMARY BarrelUp01MS End ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE Model = UVMarauder_d Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret TurretUp02 BarrelUp01FX01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponRecoilBone = PRIMARY BarrelUp01 WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponLaunchBone = PRIMARY BarrelUp01MS End ConditionState = RUBBLE WEAPONSET_CRATEUPGRADE_ONE Model = UVMarauder_d Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret TurretUp02 BarrelUp01FX01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponRecoilBone = PRIMARY BarrelUp01 WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponLaunchBone = PRIMARY BarrelUp01MS End ; crate upgrade 2 ConditionState = WEAPONSET_CRATEUPGRADE_TWO Model = UVMarauder Turret = TurretUp02 ShowSubObject = TurretUp02 HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponRecoilBone = PRIMARY BarrelUp02 WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponLaunchBone = PRIMARY BarrelUp02MS End ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO Model = UVMarauder_d Turret = TurretUp02 ShowSubObject = TurretUp02 HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponRecoilBone = PRIMARY BarrelUp02 WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponLaunchBone = PRIMARY BarrelUp02MS End ConditionState = RUBBLE WEAPONSET_CRATEUPGRADE_TWO Model = UVMarauder_d Turret = TurretUp02 ShowSubObject = TurretUp02 HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponRecoilBone = PRIMARY BarrelUp02 WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponLaunchBone = PRIMARY BarrelUp02MS End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. End ; ***DESIGN parameters *** DisplayName = OBJECT:Marauder Side = GLAToxinGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY MarauderTankGun End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY MarauderTankGunUpgradeOne End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY MarauderTankGunUpgradeTwo End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End BuildCost = 900 BuildTime = 10.0 ;in seconds VisionRange = 125 ShroudClearingRange = 300 Prerequisites Object = Chem_GLAArmsDealer Science = SCIENCE_MarauderTank End ExperienceValue = 100 100 200 300 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = GLATankMarauderCommandSet ; *** AUDIO Parameters *** VoiceSelect = MarauderTankVoiceSelect VoiceMove = MarauderTankVoiceMove VoiceGuard = MarauderTankVoiceMove VoiceAttack = MarauderTankVoiceAttack SoundMoveStart = MarauderTankMoveStart SoundMoveStartDamaged = MarauderTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = MarauderTankVoiceCreate ;TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop VoiceSalvage = MarauderTankVoiceSalvage VoiceCrush = MarauderTankVoiceCrush VoiceEnter = MarauderTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 500.0 InitialHealth = 500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 860 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL MarauderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = AutoHealBehavior ModuleTag_05 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_06 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 1000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_MarauderTankDeathEffect FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = CreateCrateDie ModuleTag_07 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End ; A crushing defeat Behavior = FXListDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End ; Units that can gain experience can't have GrantUpgradeCreate or they crash savegames. ; Behavior = GrantUpgradeCreate ModuleTag_22 ; UpgradeToGrant = Upgrade_GLAToxinShells ; End ; ; Behavior = GrantUpgradeCreate ModuleTag_23 ; UpgradeToGrant = Upgrade_GLAAnthraxBeta ; End Geometry = BOX GeometryMajorRadius = 17.0 GeometryMinorRadius = 10.0 GeometryHeight = 9.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;GLA Radar Van Object Chem_GLAVehicleRadarVan ; *** ART Parameters *** SelectPortrait = SURadarVan_L ButtonImage = SURadarVan UpgradeCameo1 = Upgrade_GLARadarVanScan UpgradeCameo2 = Upgrade_GLAJunkRepair ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UVRadarVan Animation = UVRadarVan.UVRadarVan AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = UVRadarVan_D Animation = UVRadarVan_D.UVRadarVan_D AnimationMode = LOOP End ConditionState = RUBBLE Model = UVRadarVan_D Animation = UVRadarVan_D.UVRadarVan_D AnimationMode = LOOP End TrackMarks = EXTireTrack.tga ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:RadarVan Side = GLAToxinGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End BuildCost = 550 BuildTime = 10.0 ;in seconds VisionRange = 200 ShroudClearingRange = 500 Prerequisites Object = Chem_GLAArmsDealer End IsTrainable = No CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = GLAVehicleRadarVanCommandSet ; *** AUDIO Parameters *** VoiceSelect = RadarVanVoiceSelect VoiceMove = RadarVanVoiceMove VoiceAttack = RadarVanVoiceMove SoundMoveStart = RadarVanMoveStart SoundMoveStartDamaged = RadarVanMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = RadarVanVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = NoSound ;RocketBuggyLand TruckPowerslideSound = NoSound ;RocketBuggyPowerslide VoiceCrush = RadarVanVoiceCrush VoiceEnter = RadarVanVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE IGNORES_SELECT_ALL Body = ActiveBody ModuleTag_02 MaxHealth = 200 InitialHealth = 200 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 400 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End ExperienceValue = 20 20 20 20 ; Experience point value at each level Behavior = GrantUpgradeCreate ModuleTag_03 UpgradeToGrant = Upgrade_GLARadar End Behavior = RadarUpgrade ModuleTag_05 TriggeredBy = Upgrade_GLARadar DisableProof = Yes ; Won't be disabled by power low End Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = SpecialPowerRadarVanScan OCL = SUPERWEAPON_RadarVanScan CreateLocation = CREATE_AT_LOCATION StartsPaused = Yes ; Unpaused by upgrade module End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_07 SpecialPowerTemplate = SpecialPowerRadarVanScan TriggeredBy = Upgrade_GLARadarVanScan End Behavior = AutoHealBehavior ModuleTag_08 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = AIUpdateInterface ModuleTag_09 Turret TurretTurnRate = 100 ControlledWeaponSlots = PRIMARY End End Locomotor = SET_NORMAL RadarVanLocomotor Behavior = PhysicsBehavior ModuleTag_10 Mass = 50.0 End ; The default explosion Behavior = SlowDeathBehavior ModuleTag_11 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 5 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 0 DestructionDelayVariance = 200 FX = FINAL FX_BuggyNewDeathExplosion OCL = FINAL OCL_RadarVanDeathEffect End Behavior = FlammableUpdate ModuleTag_13 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = DestroyDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = CreateCrateDie ModuleTag_15 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = StealthDetectorUpdate ModuleTag_16 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 250 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End ; A crushing defeat Behavior = FXListDie ModuleTag_17 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_18 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = TransitionDamageFX ModuleTag_19 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_CrusaderDamageTransition End Geometry = BOX GeometryMajorRadius = 16.0 GeometryMinorRadius = 6.0 GeometryHeight = 12.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ;minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Chem_GLAVehicleBattleBus ; *** ART Parameters *** SelectPortrait = SUbattlebus_L ButtonImage = SUbattlebus UpgradeCameo1 = Upgrade_GLAJunkRepair Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes TrackMarks = EXTireTrack.tga ExtraPublicBone = BUSUP01 ExtraPublicBone = BUSUP02 DefaultConditionState Model = UVBATTBUS HideSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS.UVBATTBUS AnimationMode = MANUAL End ConditionState = MOVING Model = UVBATTBUS Animation = UVBATTBUS.UVBATTBUS AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = UVBATTBUS_D Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = MANUAL End ConditionState = REALLYDAMAGED MOVING Model = UVBATTBUS_D Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = LOOP End ConditionState = SECOND_LIFE ; Set after our first death, natch Model = UVBATTBUS_D1 Animation = UVBATTBUS_D1.UVBATTBUS_D1 AnimationMode = MANUAL End AliasConditionState = REALLYDAMAGED SECOND_LIFE AliasConditionState = RUBBLE SECOND_LIFE ConditionState = RUBBLE Model = UVBATTBUS_D End ;--------- One crates ConditionState = ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS ShowSubObject = BUSUP01 HideSubObject = BUSUP02 Animation = UVBATTBUS.UVBATTBUS AnimationMode = MANUAL End ConditionState = MOVING ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS ShowSubObject = BUSUP01 HideSubObject = BUSUP02 Animation = UVBATTBUS.UVBATTBUS AnimationMode = LOOP End ConditionState = REALLYDAMAGED ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS_D ShowSubObject = BUSUP01 HideSubObject = BUSUP02 Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = MANUAL End ConditionState = REALLYDAMAGED MOVING ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS_D ShowSubObject = BUSUP01 HideSubObject = BUSUP02 Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = LOOP End ConditionState = SECOND_LIFE ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS_D1 ShowSubObject = BUSUP01 HideSubObject = BUSUP02 Animation = UVBATTBUS_D1.UVBATTBUS_D1 AnimationMode = MANUAL End AliasConditionState = REALLYDAMAGED SECOND_LIFE ARMORSET_CRATEUPGRADE_ONE AliasConditionState = RUBBLE SECOND_LIFE ARMORSET_CRATEUPGRADE_ONE ConditionState = RUBBLE ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS_D ShowSubObject = BUSUP01 HideSubObject = BUSUP02 End ;--------- Two crates ConditionState = ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS ShowSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS.UVBATTBUS AnimationMode = MANUAL End ConditionState = MOVING ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS ShowSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS.UVBATTBUS AnimationMode = LOOP End ConditionState = REALLYDAMAGED ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS_D ShowSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = MANUAL End ConditionState = REALLYDAMAGED MOVING ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS_D ShowSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = LOOP End ConditionState = SECOND_LIFE ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS_D1 ShowSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS_D1.UVBATTBUS_D1 AnimationMode = MANUAL End AliasConditionState = REALLYDAMAGED SECOND_LIFE ARMORSET_CRATEUPGRADE_TWO AliasConditionState = RUBBLE SECOND_LIFE ARMORSET_CRATEUPGRADE_TWO ConditionState = RUBBLE ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS_D ShowSubObject = BUSUP01 BUSUP02 End LeftFrontTireBone = Tire01 RightFrontTireBone = Tire04 LeftRearTireBone = Tire02 RightRearTireBone = Tire03 TireRotationMultiplier = 0.2 ; this * speed = rotation. Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide End PlacementViewAngle = 180 ; ***DESIGN parameters *** DisplayName = OBJECT:BattleBus Side = GLAToxinGeneral EditorSorting = VEHICLE TransportSlotCount = 8 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY None Weapon = SECONDARY BattleBusDummyWeapon End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY BattleBusPassengerDummyWeapon Weapon = SECONDARY BattleBusDummyWeapon End ArmorSet Conditions = None Armor = BattleBusTruckArmor DamageFX = TruckDamageFX End ArmorSet Conditions = SECOND_LIFE ; Set after our first death, natch Armor = BattleBusStructureArmorTough DamageFX = StructureDamageFX End ArmorSet Conditions = CRATE_UPGRADE_ONE Armor = BattleBusTruckArmorPlusOne DamageFX = TruckDamageFX End ArmorSet Conditions = CRATE_UPGRADE_ONE SECOND_LIFE ; Set after our first death, natch Armor = BattleBusStructureArmorToughPlusOne DamageFX = StructureDamageFX End ArmorSet Conditions = CRATE_UPGRADE_TWO Armor = BattleBusTruckArmorPlusTwo DamageFX = TruckDamageFX End ArmorSet Conditions = CRATE_UPGRADE_TWO SECOND_LIFE ; Set after our first death, natch Armor = BattleBusStructureArmorToughPlusTwo DamageFX = StructureDamageFX End BuildCost = 1100 BuildTime = 15.0 ;in seconds VisionRange = 150 ; Used in attack move targeting ShroudClearingRange = 200 Prerequisites Object = Chem_GLAArmsDealer Object = Chem_GLAPalace End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = GLAVehicleBattleBusCommandSet ; *** AUDIO Parameters *** VoiceSelect = BattleBusVoiceSelect VoiceMove = BattleBusVoiceMove VoiceGuard = BattleBusVoiceMove VoiceAttack = BattleBusVoiceAttack SoundMoveStart = BattleBusMoveStart SoundMoveStartDamaged = BattleBusMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = BattleBusVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = NoSound TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceUnload = BattleBusVoiceUnload End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SALVAGER ARMOR_SALVAGER SCORE TRANSPORT Body = UndeadBody ModuleTag_02 ; Body module that treats the first death as a state change MaxHealth = 400.0 InitialHealth = 400.0 SecondLifeMaxHealth = 650.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 750 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End IsTrainable = No ExperienceValue = 50 50 50 50 ; Experience point value at each level Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = No ATTACK_BUILDINGS End Behavior = PhysicsBehavior ModuleTag_05 Mass = 40.0 End Behavior = AutoHealBehavior ModuleTag_06 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Locomotor = SET_NORMAL BattleBusLocomotor Behavior = BattleBusSlowDeathBehavior ModuleTag_08 DeathTypes = ALL -CRUSHED -SPLATTED -EXTRA_4 ProbabilityModifier = 5 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely ; Part the first, uses when killed the first time from non-system (unresistable) damage FXStartUndeath = FX_BattleBusStartUndeath OCLStartUndeath = OCL_BattleBusStartUndeath FXHitGround = FX_BattleBusHitGround OCLHitGround = OCL_BattleBusHitGround ThrowForce = 100.0 PercentDamageToPassengers = 50% EmptyHulkDestructionDelay = 1000 ; If non-zero, msec of emptiness before we kill ourselves with Penalty damage ; Part the second, normal fields of a SlowDeathBehavior DestructionDelay = 0 DestructionDelayVariance = 200 FX = FINAL FX_BuggyNewDeathExplosion OCL = FINAL OCL_BattleBusDeath End Behavior = TransportContain ModuleTag_10 PassengersAllowedToFire = Yes Slots = 8 DamagePercentToUnits = 100% AllowInsideKindOf = INFANTRY ExitDelay = 250 NumberOfExitPaths = 5 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting WeaponBonusPassedToPassengers = Yes DelayExitInAir = Yes ArmedRidersUpgradeMyWeaponSet = Yes End ; Module 11 cut. ; Behavior = HordeUpdate ModuleTag_11 ; RubOffRadius = 150 ; if I am this close to a real hordesman, I will get to be an honorary hordesman ; UpdateRate = 1000 ; how often to recheck horde status (msec) ; Radius = 75 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) ; AlliesOnly = Yes ; do we only count allies towards horde status? ; ExactMatch = Yes ; do we only count units of our exact same type towards horde status? (overrides kindof) ; Count = 5 ; how many units must be within Radius to grant us horde-ness ; Action = HORDE ; when horde-ing, grant us the HORDE bonus ; End ; A crushing defeat Behavior = FXListDie ModuleTag_23 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_24 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_25 CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_28 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = DestroyDie ModuleTag_29 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = SlowDeathBehavior ModuleTag_30 // Empty Hulk sinking away DeathTypes = NONE +EXTRA_4 SinkDelay = 1 SinkRate = 2.5 DestructionDelay = 5000 End Behavior = TransitionDamageFX ModuleTag_31 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Geometry = BOX GeometryMajorRadius = 19.0 GeometryMinorRadius = 8.0 GeometryHeight = 11.5 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;This file is for Chemical Generals Challenge GLA Buildings ;---------------------------------------------------------------------- Object Chem_GLATunnelNetwork ; *** ART Parameters *** SelectPortrait = SUToxicTunnel_L ButtonImage = SUToxicTunnel UpgradeCameo1 = Chem_Upgrade_GLAAnthraxGamma Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UBToxTunn Turret = Turret01 WeaponFireFXBone = PRIMARY BarrelMS WeaponLaunchBone = PRIMARY BarrelMS WeaponMuzzleFlash = PRIMARY BarrelFX End ConditionState = DAMAGED Model = UBToxTunn_D WeaponFireFXBone = PRIMARY BarrelMS WeaponLaunchBone = PRIMARY BarrelMS End ConditionState = REALLYDAMAGED RUBBLE Model = UBToxTunn_E WeaponFireFXBone = PRIMARY BarrelMS WeaponLaunchBone = PRIMARY BarrelMS ParticleSysBone = Steam01 SteamVent End ConditionState = SNOW Model = UBToxTunn_S End ConditionState = DAMAGED SNOW Model = UBToxTunn_DS End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBToxTunn_ES ParticleSysBone = Steam01 SteamVent End ConditionState = NIGHT Model = UBToxTunn_N End ConditionState = DAMAGED NIGHT Model = UBToxTunn_DN End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBToxTunn_EN ParticleSysBone = Steam01 SteamVent End ConditionState = SNOW NIGHT Model = UBToxTunn_NS End ConditionState = DAMAGED SNOW NIGHT Model = UBToxTunn_DNS End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = UBToxTunn_ENS ParticleSysBone = Steam01 SteamVent End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBToxTunn Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBToxTunn_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBToxTunn_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBToxTunn_N Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBToxTunn_DN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBToxTunn_EN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBToxTunn_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBToxTunn_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBToxTunn_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBToxTunn_NS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBToxTunn_DNS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBToxTunn_ENS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBUndTunn_A4 Animation = UBUndTunn_A4.UBUndTunn_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBUndTunn_A4N Animation = UBUndTunn_A4N.UBUndTunn_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBUndTunn_A4S Animation = UBUndTunn_A4S.UBUndTunn_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBUndTunn_A4SN Animation = UBUndTunn_A4SN.UBUndTunn_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBUndTunn_A4 Animation = UBUndTunn_A4.UBUndTunn_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBUndTunn_A4N Animation = UBUndTunn_A4N.UBUndTunn_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBUndTunn_A4S Animation = UBUndTunn_A4S.UBUndTunn_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBUndTunn_A4SN Animation = UBUndTunn_A4SN.UBUndTunn_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBUndTunn_A4 Animation = UBUndTunn_A4.UBUndTunn_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBUndTunn_A4N Animation = UBUndTunn_A4N.UBUndTunn_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBUndTunn_A4S Animation = UBUndTunn_A4S.UBUndTunn_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBUndTunn_A4SN Animation = UBUndTunn_A4SN.UBUndTunn_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBUndTunn_A6 Animation = UBUndTunn_A6.UBUndTunn_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBUndTunn_A6N Animation = UBUndTunn_A6N.UBUndTunn_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBUndTunn_A6S Animation = UBUndTunn_A6S.UBUndTunn_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBUndTunn_A6SN Animation = UBUndTunn_A6SN.UBUndTunn_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBUndTunn_A6 Animation = UBUndTunn_A6.UBUndTunn_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBUndTunn_A6N Animation = UBUndTunn_A6N.UBUndTunn_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBUndTunn_A6S Animation = UBUndTunn_A6S.UBUndTunn_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBUndTunn_A6SN Animation = UBUndTunn_A6SN.UBUndTunn_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBUndTunn_A6 Animation = UBUndTunn_A6.UBUndTunn_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBUndTunn_A6N Animation = UBUndTunn_A6N.UBUndTunn_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBUndTunn_A6S Animation = UBUndTunn_A6S.UBUndTunn_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBUndTunn_A6SN Animation = UBUndTunn_A6SN.UBUndTunn_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:Chem_TunnelNetwork Side = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_GLABarracks End BuildCost = 800 RefundValue = 100 ; With nothing (or zero) listed, we sell for half price. BuildTime = 15.0 ; in seconds EnergyProduction = 0 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End WeaponSet Conditions = None Weapon = PRIMARY Chem_TunnelNetworkGunBeta End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY Chem_TunnelNetworkGunGamma End CommandSet = Chem_GLATunnelNetworkCommandSet ExperienceValue = 100 100 100 100 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = TunnelNetworkSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy SoundEnter = GarrisonEnter SoundExit = GarrisonExit UnitSpecificSounds UnderConstruction = UnderConstructionLoop TurretMoveLoop = NoSound End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE FS_BASE_DEFENSE IMMUNE_TO_CAPTURE SCORE_CREATE AUTO_RALLYPOINT Body = StructureBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = WeaponSetUpgrade ModuleTag_08 TriggeredBy = Chem_Upgrade_GLAAnthraxGamma End Behavior = StealthDetectorUpdate ModuleTag_13 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 150 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = AIUpdateInterface ModuleTag_16 Turret TurretTurnRate = 180 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes Stealthed ;ATTACK_BUILDINGS; defensive weapon End Behavior = TunnelContain ModuleTag_05 TimeForFullHeal = 5000 ;(in milliseconds) End ;Kris: Removed this module because units exiting the container would extract information from ;the wrong exit interface. Because TunnelContain has the proper information for exiting properly ;we don't need this one. And spawned units can use the TunnelContain exit anyways. ;Behavior = DefaultProductionExitUpdate ModuleTag_06 ; UnitCreatePoint = X: 5.0 Y: 0.0 Z:0.0 ; NaturalRallyPoint = X: 35.0 Y: 0.0 Z:0.0 ;End Behavior = SpawnBehavior ModuleTag_07 SpawnNumber = 2 SpawnReplaceDelay = 9999 SpawnTemplateName = Chem_GLAInfantryTunnelDefender OneShot = Yes CanReclaimOrphans = No SlavesHaveFreeWill = Yes End Behavior = RebuildHoleExposeDie ModuleTag_09 HoleName = GLAHoleTunnelNetwork HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_10 ;nothing End Behavior = CreateObjectDie ModuleTag_11 CreationList = OCL_ABTunnelNetworkDebris End Behavior = FXListDie ModuleTag_12 DeathFX = FX_StructureSmallDeath End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_17 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = ProductionUpdate ModuleTag_18 End Geometry = CYLINDER GeometryMajorRadius = 25.0 GeometryHeight = 20.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ; CHEMICAL GENERAL SYSTEMS ;------------------------------------------------------------------------------ Object Chem_PoisonFieldGammaLarge ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = NONE End End ; ***DESIGN parameters *** EditorSorting = SYSTEM KindOf = IMMOBILE CLEANUP_HAZARD STICK_TO_TERRAIN_SLOPE INERT NO_COLLIDE ArmorSet Conditions = None Armor = HazardousMaterialArmor End ; ***AUDIO parameters *** SoundAmbient = AnthraxPoolAmbientLoop ; *** ENGINEERING Parameters *** Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = FireWeaponUpdate ModuleTag_03 Weapon = Chem_LargePoisonFieldWeaponGamma End Behavior = LifetimeUpdate ModuleTag_04 MinLifetime = 45000 MaxLifetime = 45000 End Behavior = FireWeaponUpdate ModuleTag_05 Weapon = HazardFieldCoreWeapon ; Prevents stacking of fields with a small blast of cleaning at the core at startup End Behavior = DestroyDie ModuleTag_06 End Behavior = FXListDie ModuleTag_07 DeathFX = FX_AnthraxPoolDie End Geometry = CYLINDER GeometryMajorRadius = 70.0 GeometryHeight = 1.0 GeometryIsSmall = No End ;------------------------------------------------------------------------------ Object Chem_PoisonFieldGammaMedium ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = NONE End End ; ***DESIGN parameters *** EditorSorting = SYSTEM KindOf = IMMOBILE CLEANUP_HAZARD STICK_TO_TERRAIN_SLOPE INERT NO_COLLIDE ArmorSet Conditions = None Armor = HazardousMaterialArmor End ; ***AUDIO parameters *** SoundAmbient = AnthraxPoolAmbientLoop ; *** ENGINEERING Parameters *** Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = FireWeaponUpdate ModuleTag_03 Weapon = Chem_MediumPoisonFieldWeaponGamma End Behavior = LifetimeUpdate ModuleTag_04 MinLifetime = 30000 MaxLifetime = 30000 End Behavior = FireWeaponUpdate ModuleTag_05 Weapon = HazardFieldCoreWeapon ; Prevents stacking of fields with a small blast of cleaning at the core at startup End Behavior = DestroyDie ModuleTag_06 End Behavior = FXListDie ModuleTag_07 DeathFX = FX_AnthraxPoolDie End Geometry = CYLINDER GeometryMajorRadius = 40.0 GeometryHeight = 1.0 GeometryIsSmall = No End ;------------------------------------------------------------------------------ Object Chem_PoisonFieldGammaSmall ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = NONE End End ; ***DESIGN parameters *** EditorSorting = SYSTEM KindOf = IMMOBILE CLEANUP_HAZARD STICK_TO_TERRAIN_SLOPE INERT NO_COLLIDE ArmorSet Conditions = None Armor = HazardousMaterialArmor End ; ***AUDIO parameters *** SoundAmbient = AnthraxPoolAmbientLoop ; *** ENGINEERING Parameters *** Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = FireWeaponUpdate ModuleTag_03 Weapon = Chem_SmallPoisonFieldWeaponGamma End Behavior = LifetimeUpdate ModuleTag_04 MinLifetime = 10000 MaxLifetime = 10000 End Behavior = FireWeaponUpdate ModuleTag_05 Weapon = HazardFieldCoreWeapon ; Prevents stacking of fields with a small blast of cleaning at the core at startup End Behavior = DestroyDie ModuleTag_06 End Behavior = FXListDie ModuleTag_07 DeathFX = FX_AnthraxPoolDie End Geometry = CYLINDER GeometryMajorRadius = 4.0 GeometryHeight = 1.0 GeometryIsSmall = No End ;------------------------------------------------------------------------------ Object Chem_ToxicInfantryGamma ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = CITOXDTH_SKNB Animation = CITOXDTH_SKL.CITOXDTH_DTA AnimationSpeedFactorRange = 0.9 1.3 AnimationMode = ONCE End End ; ***DESIGN parameters *** Side = GLAToxinGeneral EditorSorting = SYSTEM TransportSlotCount = 1 ArmorSet Conditions = None Armor = HumanArmor DamageFX = None End VisionRange = 150 DisplayName = OBJECT:ToxicInfantry ; *** AUDIO Parameters *** ; *** ENGINEERING Parameters *** RadarPriority = NOT_ON_RADAR KindOf = CAN_CAST_REFLECTIONS INFANTRY Body = ActiveBody ModuleTag_02 MaxHealth = 50.0 InitialHealth = 50.0 End Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = LifetimeUpdate ModuleTag_05 MinLifetime = 3000 ; randomness for these means going out of sync of the animation and particles MaxLifetime = 3000 End Behavior = SlowDeathBehavior ModuleTag_06 SinkDelay = 4500 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 9500 End Behavior = SquishCollide ModuleTag_07 ;nothing End Behavior = FXListDie ModuleTag_08 DeathTypes = ALL -CRUSHED -SPLATTED DeathFX = FX_GIDie End Behavior = FXListDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_GIDieCrushed End Geometry = CYLINDER GeometryMajorRadius = 3.0 GeometryMinorRadius = 3.0 GeometryHeight = 12.0 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ Object Chem_ScudStormMissile ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UBScudStrm_M End ConditionState = DAMAGED REALLYDAMAGED RUBBLE Model = NONE End End ; ***DESIGN parameters *** KindOf = PROJECTILE ;BALLISTIC_MISSILE EditorSorting = SYSTEM VisionRange = 300.0 ShroudClearingRange = 0 TransportSlotCount = 10 ArmorSet Conditions = None Armor = ProjectileArmor DamageFX = None End ; *** AUDIO Parameters *** ; SoundFallingFromPlane = DaisyCutterWeapon ; *** ENGINEERING Parameters *** Body = ActiveBody ModuleTag_02 MaxHealth = 10000.0 InitialHealth = 10000.0 End Behavior = PhysicsBehavior ModuleTag_03 Mass = 500.0 End Behavior = MissileAIUpdate ModuleTag_04 TryToFollowTarget = No FuelLifetime = 0 ; zero is infinite InitialVelocity = 0 ; in dist/sec IgnitionFX = FX_ScudStormIgnition DistanceToTravelBeforeTurning = 500 DistanceToTargetBeforeDiving = 200 ; When I hit this close to target, I ignore PreferredHeight. End Locomotor = SET_NORMAL SCUDStormMissileLocomotor Behavior = HeightDieUpdate ModuleTag_05 TargetHeight = 15.0 TargetHeightIncludesStructures = Yes OnlyWhenMovingDown = Yes SnapToGroundOnDeath = Yes InitialDelay = 1000 ; Can't explode in the first second so we don't explode on the pad End Behavior = DestroyDie ModuleTag_06 ;nothing End Behavior = SpecialPowerCompletionDie ModuleTag_07 SpecialPowerTemplate = SuperweaponScudStorm End Behavior = FireWeaponWhenDeadBehavior ModuleTag_08 DeathWeapon = ScudStormDamageWeaponUpgraded StartsActive = Yes ConflictsWith = Chem_Upgrade_GLAAnthraxGamma End Behavior = FireWeaponWhenDeadBehavior ModuleTag_09 DeathWeapon = Chem_ScudStormDamageWeaponGamma StartsActive = No ; turned on by upgrade TriggeredBy = Chem_Upgrade_GLAAnthraxGamma End Geometry = Cylinder GeometryIsSmall = Yes GeometryMajorRadius = 7.0 GeometryHeight = 30.0 End ; This file is just for the Chemical Generals Challenge GLA Units ;------------------------------------------------------------------------------ Object Chem_StingerMissile ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UVRockBug_m End ConditionState = JAMMED ParticleSysBone = None SparksMedium End End ; ***DESIGN parameters *** DisplayName = OBJECT:StingerMissile EditorSorting = SYSTEM VisionRange = 0.0 ArmorSet Conditions = None Armor = ProjectileArmor DamageFX = None End TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) ; *** ENGINEERING Parameters *** KindOf = PROJECTILE SMALL_MISSILE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. ; A projectile is not disabled, but instead loses target and scatters SubdualDamageCap = 200 SubdualDamageHealRate = 100000 SubdualDamageHealAmount = 50 End ; ---- begin Projectile death behaviors Behavior = InstantDeathBehavior DeathModuleTag_01 DeathTypes = NONE +DETONATED ; we detonated normally. ; no FX, just quiet destroy ourselves End Behavior = InstantDeathBehavior DeathModuleTag_02 DeathTypes = NONE +LASERED ; shot down by laser. ; FX = FX_GenericMissileDisintegrate End Behavior = InstantDeathBehavior DeathModuleTag_03 DeathTypes = ALL -LASERED -DETONATED ; shot down by nonlaser. FX = FX_GenericMissileDeath End ; ---- end Projectile death behaviors Behavior = PhysicsBehavior ModuleTag_06 Mass = 1 End Behavior = MissileAIUpdate ModuleTag_07 TryToFollowTarget = Yes FuelLifetime = 5000 InitialVelocity = 200 ; in dist/sec IgnitionDelay = 0 DistanceToTravelBeforeTurning = 5 IgnitionFX = None DistanceToTargetForLock = 100 ; If it gets within 100 of the target, it kills the target. End Behavior = WeaponBonusUpgrade Upgrade_01 TriggeredBy = Upgrade_GLAAPRockets End Locomotor = SET_NORMAL StingerMissileLocomotor Geometry = Sphere GeometryIsSmall = Yes GeometryMajorRadius = 2.0 End ;------------------------------------------------ Object Chem_GLAInfantryRebel ; *** ART Parameters *** SelectPortrait = SUToxinRebel_L ButtonImage = SUToxinRebel UpgradeCameo1 = Chem_Upgrade_GLAAnthraxGamma UpgradeCameo2 = Upgrade_InfantryCaptureBuilding UpgradeCameo3 = Upgrade_GLACamouflage Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes ; this says "we don't use these condition states at all, so completely ; ignore them for purposes of matchmaking"... this is useful to help ; reduce the number of AliasConditionState clauses you must add in ; order to avoid ambiguity in some cases. IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A ; ---- standing DefaultConditionState Model = UIRGrdTOX_SKN IdleAnimation = UIRGrd_SKL.UIRGrd_STN 0 35 IdleAnimation = UIRGrd_SKL.UIRGrd_IDA IdleAnimation = UIRGrd_SKL.UIRGrd_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle01 WeaponLaunchBone = PRIMARY Muzzle01 HideSubObject = MuzzleFX01 TransitionKey = TRANS_Standing ;;; ParticleSysBone = MUZZLE01 WaterSpray End ConditionState = REALLYDAMAGED IdleAnimation = UIRGrd_SKL.UIRGrd_STB 0 35 IdleAnimation = UIRGrd_SKL.UIRGrd_IDC IdleAnimation = UIRGrd_SKL.UIRGrd_IDD AnimationMode = ONCE TransitionKey = TRANS_StandingHurt End ; ---- moving ConditionState = MOVING Animation = UIRGrd_SKL.UIRGrd_RNA 15 AnimationMode = LOOP TransitionKey = TRANS_Walking ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING ConditionState = MOVING REALLYDAMAGED Animation = UIRGrd_SKL.UIRGrd_RNB 25 AnimationMode = LOOP TransitionKey = TRANS_WalkingHurt ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING REALLYDAMAGED ; ---- dying ConditionState = DYING Animation = UIRGrd_SKL.UIRGrd_DTA Animation = UIRGrd_SKL.UIRGrd_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIRGrd_SKL.UIRGrd_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIRGrd_SKL.UIRGrd_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIRGrd_SKL.UIRGrd_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = UIRGrd_SKL.UIRGrd_IDB End ; ---- firing ConditionState = USING_WEAPON_A Animation = UIRGrd_SKL.UIRGrd_ATA3 AnimationMode = LOOP TransitionKey = TRANS_Firing End ConditionState = USING_WEAPON_A REALLYDAMAGED Animation = UIRGrd_SKL.UIRGrd_ATA2 AnimationMode = LOOP TransitionKey = TRANS_FiringHurt End TransitionState = TRANS_Standing TRANS_Firing Animation = UIRGrd_SKL.UIRGrd_ATAST AnimationMode = ONCE End TransitionState = TRANS_Firing TRANS_Standing Animation = UIRGrd_SKL.UIRGrd_ATAED AnimationMode = ONCE End TransitionState = TRANS_StandingHurt TRANS_FiringHurt Animation = UIRGrd_SKL.UIRGrd_ATA2ED AnimationMode = ONCE_BACKWARDS End TransitionState = TRANS_FiringHurt TRANS_StandingHurt Animation = UIRGrd_SKL.UIRGrd_ATA2ED AnimationMode = ONCE End TransitionState = TRANS_Standing TRANS_StandingHurt Animation = UIRGrd_SKL.UIRGrd_ATA2ED AnimationMode = ONCE End ; ------- Bldg-capture ConditionState = UNPACKING Model = UIRGrdTOXF_SKN Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1 AnimationMode = ONCE End AliasConditionState = UNPACKING REALLYDAMAGED ConditionState = RAISING_FLAG Model = UIRGrdTOXF_SKN Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2 AnimationMode = ONCE TransitionKey = TRANS_Raising End AliasConditionState = RAISING_FLAG REALLYDAMAGED ConditionState = PACKING Model = UIRGrdTOXF_SKN Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST TransitionKey = TRANS_Packing End AliasConditionState = PACKING REALLYDAMAGED TransitionState = TRANS_Raising TRANS_Packing Model = UIRGrdTOXF_SKN Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:Chem_Rebel Side = GLAToxinGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GC_Chem_GLARebelGunBeta End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY GC_Chem_GLARebelGunGamma End ArmorSet Conditions = None Armor = ChemReb_HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Chem_GLABarracks End BuildCost = 200 BuildTime = 5.0 ;in seconds ExperienceValue = 25 30 35 45 ;Experience point value at each level ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Chem_GLAInfantryRebelCommandSet ; *** AUDIO Parameters *** VoiceSelect = ToxinRebelVoiceSelect VoiceMove = RebelVoiceMove VoiceGuard = RebelVoiceMove VoiceAttack = ToxinRebelVoiceAttack SoundStealthOn = StealthOn SoundStealthOff = StealthOff VoiceFear = RebelVoiceFear VoiceTaskComplete = RebelVoiceCaptureComplete UnitSpecificSounds VoiceCreate = ToxinRebelVoiceCreate VoiceSubdue = RebelVoiceSubdue VoiceGarrison = RebelVoiceGarrison VoiceEnter = RebelVoiceMove VoiceEnterHostile = RebelVoiceMove VoiceGetHealed = RebelVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. End Locomotor = SET_NORMAL BasicHumanLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 5.0 End Behavior = StealthUpdate ModuleTag_07 StealthDelay = 2500 ; msec StealthForbiddenConditions = ATTACKING USING_ABILITY MoveThresholdSpeed = 3 InnateStealth = No ;Requires upgrade first OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = WeaponSetUpgrade ModuleTag_08 TriggeredBy = Chem_Upgrade_GLAAnthraxGamma End Behavior = WeaponBonusUpgrade ModuleTag_09 TriggeredBy = Upgrade_GLAAPBullets End Behavior = StealthUpgrade ModuleTag_10 TriggeredBy = Upgrade_GLACamouflage End Behavior = SquishCollide ModuleTag_11 ;nothing End ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_12 End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RebelDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RebelDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_16 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SpecialAbility ModuleTag_17 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding UpdateModuleStartsAttack = Yes StartsPaused = Yes InitiateSound = RebelVoiceCapture End Behavior = SpecialAbilityUpdate ModuleTag_18 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding StartAbilityRange = 5.0 UnpackTime = 3000 ; (changing this will scale anim speed) PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) PackTime = 2000 ; (changing this will scale anim speed) DoCaptureFX = Yes AwardXPForTriggering = 12 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_19 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding TriggeredBy = Upgrade_InfantryCaptureBuilding End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Chem_ToxinStreamProjectile ; Explanation - Particles can't do damage, so this is a fast shooting low ; damage invisible missile launcher with a toxin trail for exhaust ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = NONE End End ; Must have a draw module to be allowed to draw detonation FX ; ***DESIGN parameters *** EditorSorting = SYSTEM VisionRange = 0.0 ArmorSet Conditions = None Armor = ProjectileArmor DamageFX = None End ; *** ENGINEERING Parameters *** KindOf = PROJECTILE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = DestroyDie ModuleTag_03 ;nothing End Behavior = PhysicsBehavior ModuleTag_04 Mass = 1 AllowCollideForce = No ; toxins collide, but never apply forces when they do so End Behavior = MissileAIUpdate ModuleTag_05 TryToFollowTarget = No FuelLifetime = 500 InitialVelocity = 120 ; in dist/sec IgnitionDelay = 0 DistanceToTravelBeforeTurning = 2 GarrisonHitKillRequiredKindOf = INFANTRY GarrisonHitKillForbiddenKindOf = NONE GarrisonHitKillCount = 2 GarrisonHitKillFX = FX_ToxinStreamGarrisonBuildingHit End Locomotor = SET_NORMAL ToxinTruckStreamLocomotor Behavior = BoneFXUpdate ModuleTag_06 PristineParticleSystem1 = bone:NULL OnlyOnce:Yes 0 0 PSys:GC_Chem_ToxinTrail01 ; Covers gap at beginning of line End Behavior = BoneFXDamage ModuleTag_07 ;nothing End Geometry = Sphere GeometryIsSmall = Yes GeometryMajorRadius = 2.0 End ;------------------------------------------------------------------------------ Object Chem_ToxinProjectileStream ; *** ART Parameters *** Draw = W3DProjectileStreamDraw ModuleTag_01 Texture = EXToxinStreamp.tga Width = 1.5 TileFactor = 2.0 ; put the texture on the line segment this many times ScrollRate = 6.0; scroll the texture offset this fast MaxSegments = 14 ; only play the first X if there are a ton of them. 0 means play all End ; *** ENGINEERING Parameters *** KindOf = INERT Behavior = ProjectileStreamUpdate ModuleTag_02 ;nothing End End ;------------------------------------------------------------------------------ Object Demo_ScudStormMissile ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UBScudStrm_M End ConditionState = DAMAGED REALLYDAMAGED RUBBLE Model = NONE End End ; ***DESIGN parameters *** KindOf = PROJECTILE ;BALLISTIC_MISSILE EditorSorting = SYSTEM VisionRange = 300.0 ShroudClearingRange = 0 TransportSlotCount = 10 ArmorSet Conditions = None Armor = ProjectileArmor DamageFX = None End ; *** AUDIO Parameters *** ; SoundFallingFromPlane = DaisyCutterWeapon ; *** ENGINEERING Parameters *** Body = ActiveBody ModuleTag_02 MaxHealth = 10000.0 InitialHealth = 10000.0 End Behavior = PhysicsBehavior ModuleTag_03 Mass = 500.0 End Behavior = MissileAIUpdate ModuleTag_04 TryToFollowTarget = No FuelLifetime = 0 ; zero is infinite InitialVelocity = 0 ; in dist/sec IgnitionFX = FX_ScudStormIgnition DistanceToTravelBeforeTurning = 500 DistanceToTargetBeforeDiving = 200 ; When I hit this close to target, I ignore PreferredHeight. End Locomotor = SET_NORMAL SCUDStormMissileLocomotor Behavior = HeightDieUpdate ModuleTag_05 TargetHeight = 15.0 TargetHeightIncludesStructures = Yes OnlyWhenMovingDown = Yes SnapToGroundOnDeath = Yes InitialDelay = 1000 ; Can't explode in the first second so we don't explode on the pad End Behavior = DestroyDie ModuleTag_06 ;nothing End Behavior = SpecialPowerCompletionDie ModuleTag_07 SpecialPowerTemplate = SuperweaponScudStorm End Behavior = FireWeaponWhenDeadBehavior ModuleTag_08 DeathWeapon = Demo_ScudStormDamageWeapon StartsActive = Yes End Geometry = Cylinder GeometryIsSmall = Yes GeometryMajorRadius = 7.0 GeometryHeight = 30.0 End Object Demo_GLAHole ; *** ART Parameters *** SelectPortrait = SUHole_L ButtonImage = SUHole_L Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End ; ----------------- the door ------------------- Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes DefaultConditionState Model = UBHole_A1 Animation = UBHole_A1.UBHole_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End ConditionState = DAMAGED Model = UBHole_A1D Animation = UBHole_A1D.UBHole_A1D AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING Model = UBHole_A1 Animation = UBHole_A1.UBHole_A1 AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING DAMAGED Model = UBHole_A1D Animation = UBHole_A1D.UBHole_A1D AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_CLOSING Model = UBHole_A1 Animation = UBHole_A1.UBHole_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_CLOSING DAMAGED Model = UBHole_A1D Animation = UBHole_A1D.UBHole_A1D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN Model = UBHole_A1 Animation = UBHole_A1.UBHole_A1 AnimationMode = MANUAL Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = UBHole_A1D Animation = UBHole_A1D.UBHole_A1D AnimationMode = MANUAL Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:GLAHole Side = GLADemolitionGeneral EditorSorting = SYSTEM Prerequisites Object = Demo_GLACommandCenter End BuildCost = 100 BuildTime = 10.0 ; in seconds EnergyProduction = 0 VisionRange = 50.0 ; Shroud clearing distance ShroudClearingRange = 50 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ; *** AUDIO Parameters *** VoiceSelect = TunnelNetworkSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE REBUILD_HOLE CAN_SEE_THROUGH_STRUCTURE IMMUNE_TO_CAPTURE SCORE_DESTROY MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_03 ; To set the health for a particular hole, edit the entry in the object ; that will leave the hole behind (edit the RebuildHoleExposeDie entry) MaxHealth = 9999999.9 ;bigger than anything realistic we use InitialHealth = 9999999.9 ;bigger than anything realistic we use End Behavior = RebuildHoleBehavior ModuleTag_04 WorkerObjectName = Demo_GLAInfantryWorker WorkerRespawnDelay = 20000 ;in milliseconds HoleHealthRegen%PerSecond = 0.5% ;regen this % of HoleMaxHealth per second End Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_14 DeathFX = FX_StructureSmallDeath End Geometry = CYLINDER GeometryMajorRadius = 25.0 GeometryHeight = 5.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;GLA Command Center Object Demo_GLACommandCenter ; *** ART Parameters *** SelectPortrait = SUHeadquarters_L ButtonImage = SUHeadquarters UpgradeCameo1 = Upgrade_GLAFortifiedStructure ; ----- The actual command center Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBCmdEXG ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdEXG.UBCmdEXG AnimationMode = LOOP End ConditionState = DAMAGED Model = UBCmdHQD_D Animation = UBCmdHQD_D.UBCmdHQD_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBCmdHQD_E Animation = UBCmdHQD_E.UBCmdHQD_E AnimationMode = LOOP End ConditionState = GARRISONED Model = UBCmdHQDE ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE.UBCmdHQDE AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBCmdHQDE_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_D.UBCmdHQDE_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBCmdHQDE_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_E.UBCmdHQDE_E AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBCmdHQD_N ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQD_N.UBCmdHQD_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBCmdHQD_DN Animation = UBCmdHQD_DN.UBCmdHQD_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBCmdHQD_EN Animation = UBCmdHQD_EN.UBCmdHQD_EN AnimationMode = LOOP End ConditionState = GARRISONED NIGHT Model = UBCmdHQDE_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_N.UBCmdHQDE_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBCmdHQDE_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_DN.UBCmdHQDE_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBCmdHQDE_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_EN.UBCmdHQDE_EN AnimationMode = LOOP End ; day snow ConditionState = SNOW Model = UBCmdHQD_S ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQD_S.UBCmdHQD_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBCmdHQD_DS Animation = UBCmdHQD_DS.UBCmdHQD_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBCmdHQD_ES Animation = UBCmdHQD_ES.UBCmdHQD_ES AnimationMode = LOOP End ConditionState = GARRISONED SNOW Model = UBCmdHQDE_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_S.UBCmdHQDE_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBCmdHQDE_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_DS.UBCmdHQDE_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBCmdHQDE_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_ES.UBCmdHQDE_ES AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBCmdHQD_NS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQD_NS.UBCmdHQD_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = UBCmdHQD_DNS Animation = UBCmdHQD_DNS.UBCmdHQD_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBCmdHQD_ENS Animation = UBCmdHQD_ENS.UBCmdHQD_ENS AnimationMode = LOOP End ConditionState = GARRISONED NIGHT SNOW Model = UBCmdHQDE_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_NS.UBCmdHQDE_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQDE_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_DNS.UBCmdHQDE_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQDE_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_ENS.UBCmdHQDE_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQD Animation = UBCmdHQ.UBCmdHQ AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBCmdHQD_D Animation = UBCmdHQD_D.UBCmdHQD_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBCmdHQD_E Animation = UBCmdHQD_E.UBCmdHQD_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBCmdHQD_N Animation = UBCmdHQD_N.UBCmdHQD_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBCmdHQD_DN Animation = UBCmdHQD_DN.UBCmdHQD_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBCmdHQD_EN Animation = UBCmdHQD_EN.UBCmdHQD_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBCmdHQD_S Animation = UBCmdHQD_S.UBCmdHQD_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBCmdHQD_DS Animation = UBCmdHQD_DS.UBCmdHQD_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBCmdHQD_ES Animation = UBCmdHQD_ES.UBCmdHQD_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBCmdHQD_NS Animation = UBCmdHQD_NS.UBCmdHQD_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBCmdHQD_DNS Animation = UBCmdHQD_DNS.UBCmdHQD_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBCmdHQD_ENS Animation = UBCmdHQD_ENS.UBCmdHQD_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -135 ; ------------ construction done flashing lights ---------- ; Draw = W3DModelDraw ; DefaultConditionState ; Model = None ; End ; ConditionState = SOLD ; Model = NONE ; End ; ConditionState = CONSTRUCTION_COMPLETE ; Model = ABWarFact_A2 ; Animation = ABWarFact_A2.ABWarFact_A2 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ; End ; End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; Officers club flag Draw = W3DModelDraw ModuleTag_OfficersClub OkToChangeModelColor = No ConditionState = NONE Model = None End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE ConditionState = PREORDER Model = OCFlagGLA Animation = OCFlagGLA.OCFlagGLA AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ; ConditionState = PREORDER DAMAGED ; Model = OCFlagGLA_D ; Animation = OCFlagGLA_D.OCFlagGLA_D ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End ; ConditionState = PREORDER REALLYDAMAGED RUBBLE ; Model = OCFlagGLA_E ; Animation = OCFlagGLA_E.OCFlagGLA_E ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End End ; ***DESIGN parameters *** DisplayName = OBJECT:CommandCenter Side = GLADemolitionGeneral EditorSorting = STRUCTURE BuildCost = 2000 BuildTime = 45.0 ; in seconds EnergyProduction = 0 ;Command center should be free CommandSet = Demo_GLACommandCenterCommandSet VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 300 ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = CommandCenterGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE COMMANDCENTER CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE Body = StructureBody ModuleTag_04 MaxHealth = 5000.0 InitialHealth = 5000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 5200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = PreorderCreate ModuleTag_PreorderCreate End Behavior = ProductionUpdate ModuleTag_05 ; nothing End Behavior = DefaultProductionExitUpdate ModuleTag_06 UnitCreatePoint = X: 25.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 65.0 Y: 0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RebuildHoleExposeDie ModuleTag_07 HoleName = GLAHoleCommandCenter HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_08 ;nothing End Behavior = CreateObjectDie ModuleTag_09 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = OCLSpecialPower ModuleTag_11 SpecialPowerTemplate = SuperweaponRebelAmbush UpgradeOCL = SCIENCE_RebelAmbush3 Demo_SUPERWEAPON_RebelAmbush3 UpgradeOCL = SCIENCE_RebelAmbush2 Demo_SUPERWEAPON_RebelAmbush2 OCL = Demo_SUPERWEAPON_RebelAmbush1 CreateLocation = CREATE_AT_LOCATION OCLAdjustPositionToPassable = Yes ;Like RA2, shift target to passable cell so we don't land in water and on cliffs. End Behavior = OCLSpecialPower ModuleTag_12 SpecialPowerTemplate = SuperweaponBlackMarketNuke OCL = SUPERWEAPON_BlackMarketNuke CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_13 SpecialPowerTemplate = SuperweaponAnthraxBomb OCL = SUPERWEAPON_AnthraxBomb CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_14 SpecialPowerTemplate = SuperweaponEmergencyRepair UpgradeOCL = SCIENCE_EmergencyRepair3 SUPERWEAPON_RepairVehicles3 UpgradeOCL = SCIENCE_EmergencyRepair2 SUPERWEAPON_RepairVehicles2 OCL = SUPERWEAPON_RepairVehicles1 CreateLocation = CREATE_AT_LOCATION End Behavior = OCLSpecialPower ModuleTag_21 SpecialPowerTemplate = SuperweaponSneakAttack OCL = OCL_CreateSneakAttackTunnelStart CreateLocation = CREATE_AT_LOCATION ReferenceObject = GLASneakAttackTunnelNetwork ;So we know what the final product is for script placement calculations End Behavior = OCLSpecialPower ModuleTag_22 SpecialPowerTemplate = SuperweaponGPSScrambler OCL = SUPERWEAPON_GPSScrambler CreateLocation = CREATE_AT_LOCATION End Behavior = CashBountyPower ModuleTag_15 SpecialPowerTemplate = SpecialAbilityCashBounty1 Bounty = 5% End Behavior = CashBountyPower ModuleTag_16 SpecialPowerTemplate = SpecialAbilityCashBounty2 Bounty = 10% End Behavior = CashBountyPower ModuleTag_17 SpecialPowerTemplate = SpecialAbilityCashBounty3 Bounty = 20% End Behavior = FlammableUpdate ModuleTag_19 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_20 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End ; DemoGen gets free booby trap power. Behavior = GrantUpgradeCreate ModuleTag_23 UpgradeToGrant = Upgrade_GLAInfantryRebelBoobyTrapAttack ExemptStatus = UNDER_CONSTRUCTION End Geometry = BOX GeometryMajorRadius = 65.0 GeometryMinorRadius = 65.0 GeometryHeight = 54.0 FactoryExitWidth = 25 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAHoleCommandCenter Demo_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED RUBBLE Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBCmdHQ_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke End ConditionState = DAMAGED REALLYDAMAGED RUBBLE Model = UBCmdHQ_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke End End End ;------------------------------------------------------------------------------ ;Fake GLA Command Center Object Demo_FakeGLACommandCenter ; *** ART Parameters *** SelectPortrait = SUHeadquarters_L ButtonImage = SUHeadquarters UpgradeCameo1 = Upgrade_GLAFortifiedStructure ; ----- The actual command center Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBCmdHQD ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQD.UBCmdHQD AnimationMode = LOOP End ConditionState = DAMAGED Model = UBCmdHQD_D Animation = UBCmdHQD_D.UBCmdHQD_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBCmdHQD_E Animation = UBCmdHQD_E.UBCmdHQD_E AnimationMode = LOOP End ConditionState = GARRISONED Model = UBCmdHQEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG.UBCmdHQEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBCmdHQEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_D.UBCmdHQEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBCmdHQEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_E.UBCmdHQEG_E AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBCmdHQD_N ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQD_N.UBCmdHQD_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBCmdHQD_DN Animation = UBCmdHQD_DN.UBCmdHQD_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBCmdHQD_EN Animation = UBCmdHQD_EN.UBCmdHQD_EN AnimationMode = LOOP End ConditionState = GARRISONED NIGHT Model = UBCmdHQEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_N.UBCmdHQEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBCmdHQEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_DN.UBCmdHQEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBCmdHQEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_EN.UBCmdHQEG_EN AnimationMode = LOOP End ; day snow ConditionState = SNOW Model = UBCmdHQD_S ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQD_S.UBCmdHQD_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBCmdHQD_DS Animation = UBCmdHQD_DS.UBCmdHQD_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBCmdHQD_ES Animation = UBCmdHQD_ES.UBCmdHQD_ES AnimationMode = LOOP End ConditionState = GARRISONED SNOW Model = UBCmdHQEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_S.UBCmdHQEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBCmdHQEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_DS.UBCmdHQEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBCmdHQEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_ES.UBCmdHQEG_ES AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBCmdHQD_NS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQD_NS.UBCmdHQD_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = UBCmdHQD_DNS Animation = UBCmdHQD_DNS.UBCmdHQD_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBCmdHQD_ENS Animation = UBCmdHQD_ENS.UBCmdHQD_ENS AnimationMode = LOOP End ConditionState = GARRISONED NIGHT SNOW Model = UBCmdHQEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_NS.UBCmdHQEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_DNS.UBCmdHQEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_ENS.UBCmdHQEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQD Animation = UBCmdHQ.UBCmdHQ AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBCmdHQD_D Animation = UBCmdHQD_D.UBCmdHQD_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBCmdHQD_E Animation = UBCmdHQD_E.UBCmdHQD_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBCmdHQD_N Animation = UBCmdHQD_N.UBCmdHQD_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBCmdHQD_DN Animation = UBCmdHQD_DN.UBCmdHQD_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBCmdHQD_EN Animation = UBCmdHQD_EN.UBCmdHQD_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBCmdHQD_S Animation = UBCmdHQD_S.UBCmdHQD_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBCmdHQD_DS Animation = UBCmdHQD_DS.UBCmdHQD_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBCmdHQD_ES Animation = UBCmdHQD_ES.UBCmdHQD_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBCmdHQD_NS Animation = UBCmdHQD_NS.UBCmdHQD_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBCmdHQD_DNS Animation = UBCmdHQD_DNS.UBCmdHQD_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBCmdHQD_ENS Animation = UBCmdHQD_ENS.UBCmdHQD_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -135 ; ------------ construction done flashing lights ---------- ; Draw = W3DModelDraw ; DefaultConditionState ; Model = None ; End ; ConditionState = SOLD ; Model = NONE ; End ; ConditionState = CONSTRUCTION_COMPLETE ; Model = ABWarFact_A2 ; Animation = ABWarFact_A2.ABWarFact_A2 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ; End ; End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; Officers club flag Draw = W3DModelDraw ModuleTag_OfficersClub OkToChangeModelColor = No ConditionState = NONE Model = None End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE ConditionState = PREORDER Model = OCFlagGLA Animation = OCFlagGLA.OCFlagGLA AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ; ConditionState = PREORDER DAMAGED ; Model = OCFlagGLA_D ; Animation = OCFlagGLA_D.OCFlagGLA_D ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End ; ConditionState = PREORDER REALLYDAMAGED RUBBLE ; Model = OCFlagGLA_E ; Animation = OCFlagGLA_E.OCFlagGLA_E ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End End ; ***DESIGN parameters *** DisplayName = OBJECT:CommandCenter Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLACommandCenter End BuildCost = 500 BuildTime = 30.0 ; in seconds EnergyProduction = 0 ;Command center should be free CommandSet = FakeGLACommandCenterCommandSet VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 300 WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 50 50 50 50 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = CommandCenterGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE Body = StructureBody ModuleTag_04 MaxHealth = 1250.0 InitialHealth = 1250.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1450 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = PreorderCreate ModuleTag_PreorderCreate End Behavior = ProductionUpdate ModuleTag_05 ; nothing End Behavior = AIUpdateInterface ModuleTag_06 AutoAcquireEnemiesWhenIdle = No End Behavior = CreateObjectDie ModuleTag_09 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = SlowDeathBehavior ModuleTag_11 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 0 Weapon = FINAL FakeStructureDetonationWeapon End Behavior = DestroyDie ModuleTag_SlowDeathException RequiredStatus = UNDER_CONSTRUCTION End Behavior = ReplaceObjectUpgrade ModuleTag_12 ReplaceObject = Demo_GLACommandCenter TriggeredBy = Upgrade_BecomeRealGLACommandCenter End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = FlammableUpdate ModuleTag_13 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_14 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 65.0 GeometryMinorRadius = 65.0 GeometryHeight = 54.0 FactoryExitWidth = 25 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure. ShadowSizeX = 165 ShadowSizeY = 145 BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Demo_GLABlackMarket ; *** ART Parameters *** SelectPortrait = SUBlackMarket_L ButtonImage = SUBlackMarket UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBBlackMkt Animation = UBBlackMkt.UBBlackMkt AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED Model = UBBlackMkt_D Animation = UBBlackMkt_D.UBBlackMkt_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = UBBlackMkt_E Animation = UBBlackMkt_E.UBBlackMkt_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED Model = UBBlkMktEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG.UBBlkMktEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBBlkMktEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_D.UBBlkMktEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBBlkMktEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_E.UBBlkMktEG_E AnimationMode = LOOP End ; day snow ConditionState = SNOW Model = UBBlackMkt_S Animation = UBBlackMkt_S.UBBlackMkt_S AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED SNOW Model = UBBlackMkt_DS Animation = UBBlackMkt_DS.UBBlackMkt_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBBlackMkt_ES Animation = UBBlackMkt_ES.UBBlackMkt_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED SNOW Model = UBBlkMktEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_S.UBBlkMktEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBBlkMktEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DS.UBBlkMktEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBBlkMktEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_ES.UBBlkMktEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBBlackMkt_N Animation = UBBlackMkt_N.UBBlackMkt_N AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED NIGHT Model = UBBlackMkt_DN Animation = UBBlackMkt_DN.UBBlackMkt_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBBlackMkt_EN Animation = UBBlackMkt_EN.UBBlackMkt_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED NIGHT Model = UBBlkMktEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_N.UBBlkMktEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBBlkMktEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DN.UBBlkMktEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBBlkMktEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_EN.UBBlkMktEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBBlackMkt_NS Animation = UBBlackMkt_NS.UBBlackMkt_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED NIGHT SNOW Model = UBBlackMkt_DNS Animation = UBBlackMkt_DNS.UBBlackMkt_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBBlackMkt_ENS Animation = UBBlackMkt_ENS.UBBlackMkt_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED NIGHT SNOW Model = UBBlkMktEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_NS.UBBlkMktEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBBlkMktEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DNS.UBBlkMktEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBBlkMktEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_ENS.UBBlkMktEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt Animation = UBBlackMkt.UBBlackMkt AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBBlackMkt_D Animation = UBBlackMkt_D.UBBlackMkt_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBBlackMkt_E Animation = UBBlackMkt_E.UBBlackMkt_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBBlackMkt_N Animation = UBBlackMkt_N.UBBlackMkt_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBBlackMkt_DN Animation = UBBlackMkt_DN.UBBlackMkt_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBBlackMkt_EN Animation = UBBlackMkt_EN.UBBlackMkt_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBBlackMkt_S Animation = UBBlackMkt_S.UBBlackMkt_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBBlackMkt_DS Animation = UBBlackMkt_DS.UBBlackMkt_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBBlackMkt_ES Animation = UBBlackMkt_ES.UBBlackMkt_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBBlackMkt_NS Animation = UBBlackMkt_NS.UBBlackMkt_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBBlackMkt_DNS Animation = UBBlackMkt_DNS.UBBlackMkt_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBBlackMkt_ENS Animation = UBBlackMkt_ENS.UBBlackMkt_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:BlackMarket Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLAPalace End BuildCost = 2500 BuildTime = 30.0 ; in seconds EnergyProduction = 0 CommandSet = Demo_GLABlackMarketCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = BlackMarketSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY SCORE_CREATE FS_BLACK_MARKET Body = StructureBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = AutoDepositUpdate ModuleTag_05 DepositTiming = 2000 ; in milliseconds DepositAmount = 20 ; cash amount to deposit every DepositTiming InitialCaptureBonus = 0 ; no initial bonus End Behavior = ProductionUpdate ModuleTag_06 ; nothing End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = RebuildHoleExposeDie ModuleTag_08 HoleName = GLAHoleBlackMarket HoleMaxHealth = 500.0 End Behavior = CreateObjectDie ModuleTag_09 CreationList = OCL_ABPowerPlantExplode End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureSmallDeath End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_13 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = BOX GeometryMajorRadius = 35.0 GeometryMinorRadius = 35.0 GeometryHeight = 35.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAHoleBlackMarket Demo_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED RUBBLE Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBBlackMkt_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke End ConditionState = DAMAGED REALLYDAMAGED RUBBLE Model = UBBlackMkt_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke End End End ;------------------------------------------------------------------------------ Object Demo_FakeGLABlackMarket ; *** ART Parameters *** SelectPortrait = SUBlackMarket_L ButtonImage = SUBlackMarket UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBBlackMkt Animation = UBBlackMkt.UBBlackMkt AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED Model = UBBlackMkt_D Animation = UBBlackMkt_D.UBBlackMkt_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = UBBlackMkt_E Animation = UBBlackMkt_E.UBBlackMkt_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED Model = UBBlkMktEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG.UBBlkMktEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBBlkMktEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_D.UBBlkMktEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBBlkMktEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_E.UBBlkMktEG_E AnimationMode = LOOP End ; day snow ConditionState = SNOW Model = UBBlackMkt_S Animation = UBBlackMkt_S.UBBlackMkt_S AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED SNOW Model = UBBlackMkt_DS Animation = UBBlackMkt_DS.UBBlackMkt_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBBlackMkt_ES Animation = UBBlackMkt_ES.UBBlackMkt_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED SNOW Model = UBBlkMktEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_S.UBBlkMktEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBBlkMktEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DS.UBBlkMktEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBBlkMktEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_ES.UBBlkMktEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBBlackMkt_N Animation = UBBlackMkt_N.UBBlackMkt_N AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED NIGHT Model = UBBlackMkt_DN Animation = UBBlackMkt_DN.UBBlackMkt_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBBlackMkt_EN Animation = UBBlackMkt_EN.UBBlackMkt_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED NIGHT Model = UBBlkMktEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_N.UBBlkMktEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBBlkMktEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DN.UBBlkMktEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBBlkMktEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_EN.UBBlkMktEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBBlackMkt_NS Animation = UBBlackMkt_NS.UBBlackMkt_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED NIGHT SNOW Model = UBBlackMkt_DNS Animation = UBBlackMkt_DNS.UBBlackMkt_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBBlackMkt_ENS Animation = UBBlackMkt_ENS.UBBlackMkt_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED NIGHT SNOW Model = UBBlkMktEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_NS.UBBlkMktEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBBlkMktEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DNS.UBBlkMktEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBBlkMktEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_ENS.UBBlkMktEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt Animation = UBBlackMkt.UBBlackMkt AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBBlackMkt_D Animation = UBBlackMkt_D.UBBlackMkt_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBBlackMkt_E Animation = UBBlackMkt_E.UBBlackMkt_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBBlackMkt_N Animation = UBBlackMkt_N.UBBlackMkt_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBBlackMkt_DN Animation = UBBlackMkt_DN.UBBlackMkt_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBBlackMkt_EN Animation = UBBlackMkt_EN.UBBlackMkt_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBBlackMkt_S Animation = UBBlackMkt_S.UBBlackMkt_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBBlackMkt_DS Animation = UBBlackMkt_DS.UBBlackMkt_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBBlackMkt_ES Animation = UBBlackMkt_ES.UBBlackMkt_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBBlackMkt_NS Animation = UBBlackMkt_NS.UBBlackMkt_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBBlackMkt_DNS Animation = UBBlackMkt_DNS.UBBlackMkt_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBBlackMkt_ENS Animation = UBBlackMkt_ENS.UBBlackMkt_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:BlackMarket Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLAPalace End BuildCost = 625 BuildTime = 20.0 ; in seconds EnergyProduction = 0 CommandSet = FakeGLABlackMarketCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 50 50 50 50 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = BlackMarketSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE Body = StructureBody ModuleTag_04 MaxHealth = 125.0 InitialHealth = 125.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 325 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = AIUpdateInterface ModuleTag_05 AutoAcquireEnemiesWhenIdle = No End Behavior = ProductionUpdate ModuleTag_06 ; nothing End Behavior = SlowDeathBehavior ModuleTag_07 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 0 Weapon = FINAL FakeStructureDetonationWeapon End Behavior = DestroyDie ModuleTag_SlowDeathException RequiredStatus = UNDER_CONSTRUCTION End Behavior = ReplaceObjectUpgrade ModuleTag_08 ReplaceObject = Demo_GLABlackMarket TriggeredBy = Upgrade_BecomeRealGLABlackMarket End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = CreateObjectDie ModuleTag_09 CreationList = OCL_ABPowerPlantExplode End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureSmallDeath End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_13 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = AutoDepositUpdate ModuleTag_FakeMoney DepositTiming = 2000 ; in milliseconds DepositAmount = 20 ; cash amount to deposit every DepositTiming InitialCaptureBonus = 0 ; no initial bonus ActualMoney = No ; Display only so I look like a BlackMarket End Geometry = BOX GeometryMajorRadius = 35.0 GeometryMinorRadius = 35.0 GeometryHeight = 35.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure. ShadowSizeX = 108 ShadowSizeY = 96 BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Demo_GLAScudStorm ; *** ART Parameters *** SelectPortrait = SUScudStorm_L ButtonImage = SUScudStorm Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ProjectileBoneFeedbackEnabledSlots = PRIMARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset ; day ConditionState = NONE ; lying around Model = UBScudStrm_A1 Animation = UBScudStrm_A1.UBScudStrm_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY Trans_ATTACKING ; from lying around to straight up Model = UBScudStrm_A1 Animation = UBScudStrm_A1.UBScudStrm_A1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING ; Projectile feedback code selectively hiding missiles as they shoot Model = UBScudStrm_A2 Animation = UBScudStrm_A2.UBScudStrm_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A TransitionState = Trans_ATTACKING Trans_READY ; empty arms going underground, coming up with presents for bad people Model = UBScudStrm_A3 Animation = UBScudStrm_A3.UBScudStrm_A3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBScudStrm_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBScudStrm_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ;------------------------------------------------------------------------------------------------------------------------- ; day ConditionState = DAMAGED Model = UBScudStrm_DA1 Animation = UBScudStrm_DA1.UBScudStrm_DA1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_DAMAGED ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_DAMAGED Trans_ATTACKING_DAMAGED Model = UBScudStrm_DA1 Animation = UBScudStrm_DA1.UBScudStrm_DA1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING DAMAGED Model = UBScudStrm_DA2 Animation = UBScudStrm_DA2.UBScudStrm_DA2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_DAMAGED ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A DAMAGED AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A DAMAGED TransitionState = Trans_ATTACKING_DAMAGED Trans_READY_DAMAGED Model = UBScudStrm_DA3 Animation = UBScudStrm_DA3.UBScudStrm_DA3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = REALLYDAMAGED RUBBLE Model = UBScudStrm_EA1 Animation = UBScudStrm_EA1.UBScudStrm_EA1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_REALLYDAMAGED ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_REALLYDAMAGED Trans_ATTACKING_REALLYDAMAGED Model = UBScudStrm_EA1 Animation = UBScudStrm_EA1.UBScudStrm_EA1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING REALLYDAMAGED RUBBLE Model = UBScudStrm_EA2 Animation = UBScudStrm_EA2.UBScudStrm_EA2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_REALLYDAMAGED ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A REALLYDAMAGED RUBBLE AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED RUBBLE TransitionState = Trans_ATTACKING_REALLYDAMAGED Trans_READY_REALLYDAMAGED Model = UBScudStrm_EA3 Animation = UBScudStrm_EA3.UBScudStrm_EA3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ; SNOW ConditionState = SNOW ; from underground to lying around Model = UBScudStrm_A1S Animation = UBScudStrm_A1S.UBScudStrm_A1S AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_SNOW Trans_ATTACKING_SNOW Model = UBScudStrm_A1S Animation = UBScudStrm_A1S.UBScudStrm_A1S AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING SNOW ; Projectile feedback code selectively hiding missiles as they shoot Model = UBScudStrm_A2S Animation = UBScudStrm_A2S.UBScudStrm_A2S AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A SNOW TransitionState = Trans_ATTACKING_SNOW Trans_READY_SNOW ; empty arms going underground Model = UBScudStrm_A3S Animation = UBScudStrm_A3S.UBScudStrm_A3S AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBScudStrm Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW Model = UBScudStrm_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW Model = UBScudStrm_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = DAMAGED SNOW Model = UBScudStrm_DA1 Animation = UBScudStrm_DA1.UBScudStrm_DA1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_DAMAGED_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_DAMAGED_SNOW Trans_ATTACKING_DAMAGED_SNOW Model = UBScudStrm_DA1 Animation = UBScudStrm_DA1.UBScudStrm_DA1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING DAMAGED SNOW Model = UBScudStrm_DA2 Animation = UBScudStrm_DA2.UBScudStrm_DA2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_DAMAGED_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A DAMAGED SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A DAMAGED SNOW TransitionState = Trans_ATTACKING_DAMAGED_SNOW Trans_READY_DAMAGED_SNOW Model = UBScudStrm_DA3 Animation = UBScudStrm_DA3.UBScudStrm_DA3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBScudStrm_EA1 Animation = UBScudStrm_EA1.UBScudStrm_EA1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_REALLYDAMAGED_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_REALLYDAMAGED_SNOW Trans_ATTACKING_REALLYDAMAGED_SNOW Model = UBScudStrm_EA1 Animation = UBScudStrm_EA1.UBScudStrm_EA1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING REALLYDAMAGED RUBBLE SNOW Model = UBScudStrm_EA2 Animation = UBScudStrm_EA2.UBScudStrm_EA2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_REALLYDAMAGED_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A REALLYDAMAGED RUBBLE SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED RUBBLE SNOW TransitionState = Trans_ATTACKING_REALLYDAMAGED_SNOW Trans_READY_REALLYDAMAGED_SNOW Model = UBScudStrm_EA3 Animation = UBScudStrm_EA3.UBScudStrm_EA3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ; NIGHT ConditionState = NIGHT ; from underground to lying around Model = UBScudStrm_A1 Animation = UBScudStrm_A1.UBScudStrm_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_NIGHT Trans_ATTACKING_NIGHT Model = UBScudStrm_A1 Animation = UBScudStrm_A1.UBScudStrm_A1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING NIGHT ; Projectile feedback code selectively hiding missiles as they shoot Model = UBScudStrm_A2 Animation = UBScudStrm_A2.UBScudStrm_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT TransitionState = Trans_ATTACKING_NIGHT Trans_READY_NIGHT ; empty arms going underground Model = UBScudStrm_A3 Animation = UBScudStrm_A3.UBScudStrm_A3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBScudStrm Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT Model = UBScudStrm_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT Model = UBScudStrm_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = DAMAGED NIGHT Model = UBScudStrm_DA1N Animation = UBScudStrm_DA1N.UBScudStrm_DA1N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_DAMAGED_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_DAMAGED_NIGHT Trans_ATTACKING_DAMAGED_NIGHT Model = UBScudStrm_DA1N Animation = UBScudStrm_DA1N.UBScudStrm_DA1N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING DAMAGED NIGHT Model = UBScudStrm_DA2N Animation = UBScudStrm_DA2N.UBScudStrm_DA2N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_DAMAGED_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT DAMAGED AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT DAMAGED TransitionState = Trans_ATTACKING_DAMAGED_NIGHT Trans_READY_DAMAGED_NIGHT Model = UBScudStrm_DA3N Animation = UBScudStrm_DA3N.UBScudStrm_DA3N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBScudStrm_EA1N Animation = UBScudStrm_EA1N.UBScudStrm_EA1N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_REALLYDAMAGED_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_REALLYDAMAGED_NIGHT Trans_ATTACKING_REALLYDAMAGED_NIGHT Model = UBScudStrm_EA1N Animation = UBScudStrm_EA1N.UBScudStrm_EA1N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING REALLYDAMAGED RUBBLE NIGHT Model = UBScudStrm_EA2N Animation = UBScudStrm_EA2N.UBScudStrm_EA2N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_REALLYDAMAGED_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT REALLYDAMAGED RUBBLE AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT REALLYDAMAGED RUBBLE TransitionState = Trans_ATTACKING_REALLYDAMAGED_NIGHT Trans_READY_REALLYDAMAGED_NIGHT Model = UBScudStrm_EA3N Animation = UBScudStrm_EA3N.UBScudStrm_EA3N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ; NIGHT SNOW ConditionState = NIGHT SNOW ; from underground to lying around Model = UBScudStrm_A1NS Animation = UBScudStrm_A1NS.UBScudStrm_A1NS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_NIGHTSNOW Trans_ATTACKING_NIGHTSNOW Model = UBScudStrm_A1NS Animation = UBScudStrm_A1NS.UBScudStrm_A1NS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING NIGHT SNOW ; Projectile feedback code selectively hiding missiles as they shoot Model = UBScudStrm_A2NS Animation = UBScudStrm_A2NS.UBScudStrm_A2NS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT SNOW TransitionState = Trans_ATTACKING_NIGHTSNOW Trans_READY_NIGHTSNOW ; empty arms going underground Model = UBScudStrm_A3NS Animation = UBScudStrm_A3NS.UBScudStrm_A3NS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBScudStrm Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW Model = UBScudStrm_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW Model = UBScudStrm_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = DAMAGED NIGHT SNOW Model = UBScudStrm_DA1N Animation = UBScudStrm_DA1N.UBScudStrm_DA1N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_DAMAGED_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_DAMAGED_NIGHTSNOW Trans_ATTACKING_DAMAGED_NIGHTSNOW Model = UBScudStrm_DA1N Animation = UBScudStrm_DA1N.UBScudStrm_DA1N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING DAMAGED NIGHT SNOW Model = UBScudStrm_DA2N Animation = UBScudStrm_DA2N.UBScudStrm_DA2N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_DAMAGED_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT DAMAGED SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT DAMAGED SNOW TransitionState = Trans_ATTACKING_DAMAGED_NIGHTSNOW Trans_READY_DAMAGED_NIGHTSNOW Model = UBScudStrm_DA3N Animation = UBScudStrm_DA3N.UBScudStrm_DA3N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBScudStrm_EA1N Animation = UBScudStrm_EA1N.UBScudStrm_EA1N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_REALLYDAMAGED_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_REALLYDAMAGED_NIGHTSNOW Trans_ATTACKING_REALLYDAMAGED_NIGHTSNOW Model = UBScudStrm_EA1N Animation = UBScudStrm_EA1N.UBScudStrm_EA1N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBScudStrm_EA2N Animation = UBScudStrm_EA2N.UBScudStrm_EA2N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_REALLYDAMAGED_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT REALLYDAMAGED RUBBLE SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT REALLYDAMAGED RUBBLE SNOW TransitionState = Trans_ATTACKING_REALLYDAMAGED_NIGHTSNOW Trans_READY_REALLYDAMAGED_NIGHTSNOW Model = UBScudStrm_EA3N Animation = UBScudStrm_EA3N.UBScudStrm_EA3N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ConditionState = SOLD Model = NONE End AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD DAMAGED SNOW AliasConditionState = SOLD REALLYDAMAGED SNOW AliasConditionState = SOLD NIGHT AliasConditionState = SOLD DAMAGED NIGHT AliasConditionState = SOLD REALLYDAMAGED NIGHT AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD DAMAGED NIGHT SNOW AliasConditionState = SOLD REALLYDAMAGED NIGHT SNOW End ;------------------------------------------------------------------------------------------------------------------------- ;------------------------------------------------------------------------------------------------------------------------- ;------------------------------------------------------------------------------------------------------------------------- Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = None Model = UBScudStrm_A5 Animation = UBScudStrm_A5.UBScudStrm_A5 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End ConditionState = PREATTACK_A ATTACKING Model = UBScudStrm_A5 Animation = UBScudStrm_A5.UBScudStrm_A5 AnimationMode = LOOP Flags = START_FRAME_FIRST End ConditionState = ATTACKING Model = UBScudStrm_A5 Animation = UBScudStrm_A5.UBScudStrm_A5 AnimationMode = LOOP Flags = START_FRAME_FIRST End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = DAMAGED ; Model = UBScudStrm_DA5 ; Animation = UBScudStrm_DA5.UBScudStrm_DA5 ; AnimationMode = MANUAL ; Flags = START_FRAME_FIRST ;End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = PREATTACK_A ATTACKING DAMAGED ; Model = UBScudStrm_DA5 ; Animation = UBScudStrm_DA5.UBScudStrm_DA5 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ;End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = ATTACKING DAMAGED ; Model = UBScudStrm_DA5 ; Animation = UBScudStrm_DA5.UBScudStrm_DA5 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ;End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = REALLYDAMAGED ; Model = UBScudStrm_EA5 ; Animation = UBScudStrm_EA5.UBScudStrm_EA5 ; AnimationMode = MANUAL ; Flags = START_FRAME_FIRST ;End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = PREATTACK_A ATTACKING REALLYDAMAGED ; Model = UBScudStrm_EA5 ; Animation = UBScudStrm_EA5.UBScudStrm_EA5 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ;End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = ATTACKING REALLYDAMAGED ; Model = UBScudStrm_EA5 ; Animation = UBScudStrm_EA5.UBScudStrm_EA5 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ;End End Draw = W3DModelDraw ModuleTag_03 OkToChangeModelColor = Yes ConditionState = None Model = UBScudStrm_A6 Animation = UBScudStrm_A6.UBScudStrm_A6 AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED Model = UBScudStrm_DA6 Animation = UBScudStrm_DA6.UBScudStrm_DA6 AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE Model = UBScudStrm_EA6 Animation = UBScudStrm_EA6.UBScudStrm_EA6 AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm_A6 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBScudStrm_DA6 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = UBScudStrm_EA6 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End End Draw = W3DModelDraw ModuleTag_04 OkToChangeModelColor = Yes ConditionState = None Model = UBScudStrm_F Animation = UBScudStrm_F.UBScudStrm_F AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED Model = UBScudStrm_DF Animation = UBScudStrm_DF.UBScudStrm_DF AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE Model = UBScudStrm_EF Animation = UBScudStrm_EF.UBScudStrm_EF AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = SOLD Model = NONE End AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD DAMAGED SNOW AliasConditionState = SOLD REALLYDAMAGED SNOW AliasConditionState = SOLD NIGHT AliasConditionState = SOLD DAMAGED NIGHT AliasConditionState = SOLD REALLYDAMAGED NIGHT AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD DAMAGED NIGHT SNOW AliasConditionState = SOLD REALLYDAMAGED NIGHT SNOW End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm_AB Animation = UBScudStrm_AB.UBScudStrm_AB AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm_ABN Animation = UBScudStrm_ABN.UBScudStrm_ABN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm_ABS Animation = UBScudStrm_ABS.UBScudStrm_ABS AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm_ABSN Animation = UBScudStrm_ABSN.UBScudStrm_ABSN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBScudStrm_AB Animation = UBScudStrm_AB.UBScudStrm_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBScudStrm_ABN Animation = UBScudStrm_ABN.UBScudStrm_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBScudStrm_ABS Animation = UBScudStrm_ABS.UBScudStrm_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBScudStrm_ABSN Animation = UBScudStrm_ABSN.UBScudStrm_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBScudStrm_AB Animation = UBScudStrm_AB.UBScudStrm_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBScudStrm_ABN Animation = UBScudStrm_ABN.UBScudStrm_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBScudStrm_ABS Animation = UBScudStrm_ABS.UBScudStrm_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBScudStrm_ABSN Animation = UBScudStrm_ABSN.UBScudStrm_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_06 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBScudStrm_AC Animation = UBScudStrm_AC.UBScudStrm_AC AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBScudStrm_ACN Animation = UBScudStrm_ACN.UBScudStrm_ACN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBScudStrm_ACS Animation = UBScudStrm_ACS.UBScudStrm_ACS AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBScudStrm_ACSN Animation = UBScudStrm_ACSN.UBScudStrm_ACSN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBScudStrm_AC Animation = UBScudStrm_AC.UBScudStrm_AC AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBScudStrm_ACN Animation = UBScudStrm_ACN.UBScudStrm_ACN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBScudStrm_ACS Animation = UBScudStrm_ACS.UBScudStrm_ACS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBScudStrm_ACSN Animation = UBScudStrm_ACSN.UBScudStrm_ACSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBScudStrm_AC Animation = UBScudStrm_AC.UBScudStrm_AC AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBScudStrm_ACN Animation = UBScudStrm_ACN.UBScudStrm_ACN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBScudStrm_ACS Animation = UBScudStrm_ACS.UBScudStrm_ACS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBScudStrm_ACSN Animation = UBScudStrm_ACSN.UBScudStrm_ACSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:ScudStorm Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLAPalace End BuildCost = 5000 BuildTime = 60.0 ; in seconds EnergyProduction = 0 CommandSet = Demo_GLAScudStormCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ShroudRevealToAllRange = 60 ; Reveals shroud to all players at a specific amount which can be different. ; Using same value? Then use KINDOF_REVEAL_TO_ALL instead! WeaponSet Conditions = None Weapon = PRIMARY Demo_ScudStormWeapon AutoChooseSources = PRIMARY NONE End ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 400 400 400 400 ; Experience point value at each level MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games MaxSimultaneousLinkKey = Superweapon ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType ; *** AUDIO Parameters *** VoiceSelect = ScudStormSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) TurretMoveLoopLoud End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY SCORE_CREATE FS_SUPERWEAPON Body = StructureBody ModuleTag_07 MaxHealth = 4000.0 InitialHealth = 4000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 4200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = RebuildHoleExposeDie ModuleTag_08 HoleName = GLAHoleScudStorm HoleMaxHealth = 500.0 End Behavior = AIUpdateInterface ModuleTag_09 End Behavior = OCLSpecialPower ModuleTag_10 SpecialPowerTemplate = SuperweaponScudStorm OCL = SUPERWEAPON_ScudStorm End Behavior = SpecialPowerCreate ModuleTag_11 ;nothing End Behavior = DestroyDie ModuleTag_12 ;nothing End Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_PoisonFieldMedium ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_14 DeathFX = WeaponFX_BombTruckHighExplosiveBioBombDetonation ExemptStatus = UNDER_CONSTRUCTION End Behavior = FlammableUpdate ModuleTag_16 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = RadiusDecalUpdate ModuleTag_17 ; nothing End Behavior = TransitionDamageFX ModuleTag_18 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = FXListDie ModuleTag_19 DeathFX = FX_BuildingDie End Geometry = BOX GeometryMajorRadius = 71.0 GeometryMinorRadius = 67.0 GeometryHeight = 25.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;GLA Demo Trap Object Demo_GLADemoTrap ; *** ART Parameters *** SelectPortrait = SUAdvDeTrap_L ButtonImage = SUAdvDeTrap Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = EXHideBombD End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = RUBBLE AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = EXHideBomb Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = EXHideBomb Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = EXHideBomb Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:Demo_DemoTrap Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLASupplyStash End BuildCost = 200 BuildTime = 3.0 ; in seconds EnergyProduction = 0 VisionRange = 150.0 ; Shroud clearing distance ShroudClearingRange = 150.0 ; Shroud clearing distance ExperienceValue = 50 50 50 50 ; Experience point value at each level WeaponSet ;The weapon set is used to determine detonation mode Conditions = None Weapon = PRIMARY DummyWeapon ;Used for mode matching only (when to detonate) Weapon = SECONDARY DummyWeapon ;Used for mode matching only (when to detonate) Weapon = TERTIARY DummyWeapon ;Used for mode matching only (when to detonate) AutoChooseSources = PRIMARY NONE AutoChooseSources = SECONDARY NONE AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = StructureArmor DamageFX = DefaultDamageFX ; Too small for normal building FX, but if we do make dedicated one it should be silent End CommandSet = Demo_GLADemoTrapCommandSet ; *** AUDIO Parameters *** VoiceSelect = UndergroundGeneratorSelect SoundOnDamaged = NoSound SoundOnReallyDamaged = NoSound UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE IMMUNE_TO_CAPTURE DEMOTRAP Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = StealthUpdate ModuleTag_03 StealthDelay = 0 ; msec StealthForbiddenConditions = NONE FriendlyOpacityMin = 100.0% OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = DemoTrapUpdate ModuleTag_04 DefaultProximityMode = Yes ;If yes, defaults to proximity mode, otherwise defaults to manual. DetonationWeaponSlot = PRIMARY ;The slot the weapon is in when it detonates. ProximityModeWeaponSlot = SECONDARY ;The slot proximity mode is determined by (bogus weapon) ManualModeWeaponSlot = TERTIARY ;The slot manual mode is determined by (bogus weapon) TriggerDetonationRange = 40.0 ;Detonation range when in proximity mode (and must be on ground) IgnoreTargetTypes = PROJECTILE UNATTACKABLE AutoDetonationWithFriendsInvolved = Yes ;GLA are low tech ; DetonationWeapon = DemoTrapDetonationWeapon DetonateWhenKilled = Yes End Behavior = SlowDeathBehavior ModuleTag_05 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 1000 FX = INITIAL FX_GLADemoTrapWarning Weapon = FINAL Demo_DemoTrapDetonationWeapon End Behavior = FlammableUpdate ModuleTag_07 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = InstantDeathBehavior ModuleTag_08 ; if we are under construction, use this death instead RequiredStatus = UNDER_CONSTRUCTION ; no effect End BuildCompletion = PLACED_BY_PLAYER Shadow = SHADOW_VOLUME Geometry = CYLINDER GeometryMajorRadius = 4.0 GeometryHeight = 9 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAHoleDemoTrap Demo_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End ;Remove comments for this section and replace the model entries for the ;pristine, and damage/reallydamaged rubble around the GLA hole below ; Draw = W3DModelDraw ; OkToChangeModelColor = Yes ; ConditionState = NONE ; Model = UBSupply_R ; End ; ConditionState = DAMAGED REALLYDAMAGED ; Model = UBSupply_R ; End ; End End ; ----------------------------------------------------------------------------- Object Demo_GLATunnelNetwork ; *** ART Parameters *** SelectPortrait = SUTunnel_L ButtonImage = SUTunnel ;UpgradeCameo1 = Upgrade_GLACamoNetting ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UBUndTunn Turret = Turret01 WeaponFireFXBone = PRIMARY BarrelMS WeaponMuzzleFlash = PRIMARY BarrelFX End ConditionState = DAMAGED Model = UBUndTunn_D End ConditionState = REALLYDAMAGED RUBBLE Model = UBUndTunn_E ParticleSysBone = Steam01 SteamVent End ConditionState = SNOW Model = UBUndTunn_S End ConditionState = DAMAGED SNOW Model = UBUndTunn_DS End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBUndTunn_ES ParticleSysBone = Steam01 SteamVent End ConditionState = NIGHT Model = UBUndTunn_N End ConditionState = DAMAGED NIGHT Model = UBUndTunn_DN End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBUndTunn_EN ParticleSysBone = Steam01 SteamVent End ConditionState = SNOW NIGHT Model = UBUndTunn_NS End ConditionState = DAMAGED SNOW NIGHT Model = UBUndTunn_DNS End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = UBUndTunn_ENS ParticleSysBone = Steam01 SteamVent End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBUndTunn Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBUndTunn_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBUndTunn_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBUndTunn_N Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBUndTunn_DN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBUndTunn_EN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBUndTunn_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBUndTunn_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBUndTunn_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBUndTunn_NS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBUndTunn_DNS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBUndTunn_ENS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBUndTunn_A4 Animation = UBUndTunn_A4.UBUndTunn_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBUndTunn_A4N Animation = UBUndTunn_A4N.UBUndTunn_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBUndTunn_A4S Animation = UBUndTunn_A4S.UBUndTunn_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBUndTunn_A4SN Animation = UBUndTunn_A4SN.UBUndTunn_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBUndTunn_A4 Animation = UBUndTunn_A4.UBUndTunn_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBUndTunn_A4N Animation = UBUndTunn_A4N.UBUndTunn_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBUndTunn_A4S Animation = UBUndTunn_A4S.UBUndTunn_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBUndTunn_A4SN Animation = UBUndTunn_A4SN.UBUndTunn_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBUndTunn_A4 Animation = UBUndTunn_A4.UBUndTunn_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBUndTunn_A4N Animation = UBUndTunn_A4N.UBUndTunn_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBUndTunn_A4S Animation = UBUndTunn_A4S.UBUndTunn_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBUndTunn_A4SN Animation = UBUndTunn_A4SN.UBUndTunn_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBUndTunn_A6 Animation = UBUndTunn_A6.UBUndTunn_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBUndTunn_A6N Animation = UBUndTunn_A6N.UBUndTunn_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBUndTunn_A6S Animation = UBUndTunn_A6S.UBUndTunn_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBUndTunn_A6SN Animation = UBUndTunn_A6SN.UBUndTunn_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBUndTunn_A6 Animation = UBUndTunn_A6.UBUndTunn_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBUndTunn_A6N Animation = UBUndTunn_A6N.UBUndTunn_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBUndTunn_A6S Animation = UBUndTunn_A6S.UBUndTunn_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBUndTunn_A6SN Animation = UBUndTunn_A6SN.UBUndTunn_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBUndTunn_A6 Animation = UBUndTunn_A6.UBUndTunn_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBUndTunn_A6N Animation = UBUndTunn_A6N.UBUndTunn_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBUndTunn_A6S Animation = UBUndTunn_A6S.UBUndTunn_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBUndTunn_A6SN Animation = UBUndTunn_A6SN.UBUndTunn_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:TunnelNetwork Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLABarracks End BuildCost = 800 RefundValue = 100 ; With nothing (or zero) listed, we sell for half price. BuildTime = 15.0 ; in seconds EnergyProduction = 0 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End WeaponSet Conditions = None Weapon = PRIMARY TunnelNetworkGun Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End CommandSet = Demo_GLATunnelNetworkCommandSet ExperienceValue = 100 100 100 100 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = TunnelNetworkSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy SoundEnter = GarrisonEnter SoundExit = GarrisonExit UnitSpecificSounds UnderConstruction = UnderConstructionLoop TurretMoveLoop = NoSound End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE FS_BASE_DEFENSE IMMUNE_TO_CAPTURE SCORE_CREATE AUTO_RALLYPOINT Body = StructureBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = StealthDetectorUpdate ModuleTag_13 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 150 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = AIUpdateInterface ModuleTag_16 Turret TurretTurnRate = 180 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes Stealthed; defensive weapon End Behavior = TunnelContain ModuleTag_05 TimeForFullHeal = 5000 ;(in milliseconds) End ;Kris: Removed this module from because units exiting the container would extract information ;from the wrong exit interface. And we don't appear to need it for the spawns because they ;use OpenContain instead. ;Behavior = DefaultProductionExitUpdate ModuleTag_06 ; UnitCreatePoint = X: 5.0 Y: 0.0 Z:0.0 ; NaturalRallyPoint = X: 35.0 Y: 0.0 Z:0.0 ;End Behavior = SpawnBehavior ModuleTag_07 SpawnNumber = 2 SpawnReplaceDelay = 9999 SpawnTemplateName = Demo_GLAInfantryTunnelDefender OneShot = Yes CanReclaimOrphans = No SlavesHaveFreeWill = Yes End Behavior = RebuildHoleExposeDie ModuleTag_09 HoleName = GLAHoleTunnelNetwork HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_10 ;nothing End Behavior = CreateObjectDie ModuleTag_11 CreationList = OCL_ABTunnelNetworkDebris End Behavior = FXListDie ModuleTag_12 DeathFX = FX_StructureSmallDeath End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End ;Kris: Cut camo-netting from Demo General ;Behavior = StealthUpdate ModuleTag_17 ; StealthDelay = 2500 ; msec ; StealthForbiddenConditions = ATTACKING USING_ABILITY NO_BLACK_MARKET TAKING_DAMAGE ; MoveThresholdSpeed = 3 ; InnateStealth = No ;Requires upgrade first ; OrderIdleEnemiesToAttackMeUponReveal = Yes ;End ;Behavior = StealthUpgrade ModuleTag_18 ; TriggeredBy = Upgrade_GLACamoNetting ;End ;Behavior = ProductionUpdate ModuleTag_19 ;End Behavior = TransitionDamageFX ModuleTag_20 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death24 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = Yes ; turned on by upgrade ; DeathTypes = NONE +SUICIDED ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 ; DeathWeapon = Demo_SuicideDynamitePackPlusFire ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag998 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = NONE +SUICIDED ; End Behavior = FireWeaponWhenDeadBehavior ModuleTag998 DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE +SUICIDED End; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 DeathWeapon = Demo_DestroyedWeapon StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL -SUICIDED End Behavior = CommandSetUpgrade ModuleTag_22 CommandSet = Demo_GLATunnelNetworkCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = CYLINDER GeometryMajorRadius = 25.0 GeometryHeight = 20.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAHoleTunnelNetwork Demo_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBUndTunn_R End ConditionState = DAMAGED REALLYDAMAGED Model = UBUndTunn_R End End End ;------------------------------------------------------------------------------ Object Demo_GLAStingerSite ; *** ART Parameters *** SelectPortrait = SUStinger_L ButtonImage = SUStinger UpgradeCameo1 = Upgrade_GLAAPRockets ;UpgradeCameo2 = Upgrade_GLACamoNetting ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ************************************ ConditionState = NONE Model = UBStingerS End ConditionState = DAMAGED Model = UBStingerS_D End ConditionState = REALLYDAMAGED RUBBLE Model = UBStingerS_E End ; day snow ************************************ ConditionState = SNOW Model = UBStingerS_S End ConditionState = DAMAGED SNOW Model = UBStingerS_DS End ConditionState = REALLYDAMAGED SNOW RUBBLE Model = UBStingerS_ES End ; night ********************************** ConditionState = NIGHT Model = UBStingerS_N End ConditionState = DAMAGED NIGHT Model = UBStingerS_DN End ConditionState = REALLYDAMAGED NIGHT RUBBLE Model = UBStingerS_EN End ; night snow ********************************** ConditionState = NIGHT SNOW Model = UBStingerS_NS End ConditionState = DAMAGED NIGHT SNOW Model = UBStingerS_DNS End ConditionState = REALLYDAMAGED NIGHT SNOW RUBBLE Model = UBStingerS_ENS End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBStingerS ; Animation = UBStingerS.UBStingerS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBStingerS_D ; Animation = UBStingerS_D.UBStingerS_D ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBStingerS_E ; Animation = UBStingerS_E.UBStingerS_E ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBStingerS_N ; Animation = UBStingerS_N.UBStingerS_N ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBStingerS_DN ; Animation = UBStingerS_DN.UBStingerS_DN ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBStingerS_EN ; Animation = UBStingerS_EN.UBStingerS_EN ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBStingerS_S ; Animation = UBStingerS_S.UBStingerS_S ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBStingerS_DS ; Animation = UBStingerS_DS.UBStingerS_DS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBStingerS_ES ; Animation = UBStingerS_ES.UBStingerS_ES ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBStingerS_NS ; Animation = UBStingerS_NS.UBStingerS_NS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBStingerS_DNS ; Animation = UBStingerS_DNS.UBStingerS_DNS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBStingerS_ENS ; Animation = UBStingerS_ENS.UBStingerS_ENS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBStingerS_A4 Animation = UBStingerS_A4.UBStingerS_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBStingerS_A4N Animation = UBStingerS_A4N.UBStingerS_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBStingerS_A4S Animation = UBStingerS_A4S.UBStingerS_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBStingerS_A4SN Animation = UBStingerS_A4SN.UBStingerS_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBStingerS_A4 Animation = UBStingerS_A4.UBStingerS_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBStingerS_A4N Animation = UBStingerS_A4N.UBStingerS_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBStingerS_A4S Animation = UBStingerS_A4S.UBStingerS_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBStingerS_A4SN Animation = UBStingerS_A4SN.UBStingerS_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBStingerS_A4 Animation = UBStingerS_A4.UBStingerS_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBStingerS_A4N Animation = UBStingerS_A4N.UBStingerS_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBStingerS_A4S Animation = UBStingerS_A4S.UBStingerS_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBStingerS_A4SN Animation = UBStingerS_A4SN.UBStingerS_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBStingerS_A6 Animation = UBStingerS_A6.UBStingerS_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBStingerS_A6N Animation = UBStingerS_A6N.UBStingerS_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBStingerS_A6S Animation = UBStingerS_A6S.UBStingerS_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBStingerS_A6SN Animation = UBStingerS_A6SN.UBStingerS_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBStingerS_A6 Animation = UBStingerS_A6.UBStingerS_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBStingerS_A6N Animation = UBStingerS_A6N.UBStingerS_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBStingerS_A6S Animation = UBStingerS_A6S.UBStingerS_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBStingerS_A6SN Animation = UBStingerS_A6SN.UBStingerS_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBStingerS_A6 Animation = UBStingerS_A6.UBStingerS_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBStingerS_A6N Animation = UBStingerS_A6N.UBStingerS_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBStingerS_A6S Animation = UBStingerS_A6S.UBStingerS_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBStingerS_A6SN Animation = UBStingerS_A6SN.UBStingerS_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:StingerSite Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLABarracks End BuildCost = 900 BuildTime = 15.0 ; in seconds EnergyProduction = 0 VisionRange = 600.0 ; Shroud clearing distance ShroudClearingRange = 400 WeaponSet Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = StingerSiteArmor DamageFX = StructureDamageFXNoShake End CommandSet = Demo_GLAStingerSiteCommandSet ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = StingerSiteSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_BASE_DEFENSE IMMUNE_TO_CAPTURE SPAWNS_ARE_THE_WEAPONS SCORE_CREATE Body = HiveStructureBody ModuleTag_04 ;Requires SpawnBehavior! MaxHealth = 1000.0 InitialHealth = 1000.0 ;**Careful with these damage types -- because area damage types will already ;**damage slaves. PropagateDamageTypesToSlavesWhenExisting = NONE +SMALL_ARMS +SNIPER +POISON +RADIATION +SURRENDER SwallowDamageTypesIfSlavesNotExisting = NONE +SNIPER +POISON +SURRENDER; Take no damage if no one to pass this to ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = SpawnPointProductionExitUpdate ModuleTag_05 SpawnPointBoneName = SpawnPoint End Behavior = SpawnBehavior ModuleTag_06 SpawnNumber = 3 SpawnReplaceDelay = 30000 ;msec SpawnTemplateName = GLAInfantryStingerSoldier CanReclaimOrphans = No SpawnedRequireSpawner = Yes End Behavior = RebuildHoleExposeDie ModuleTag_08 HoleName = GLAHoleStingerSite HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_09 ; End Behavior = CreateObjectDie ModuleTag_10 CreationList = OCL_ABStingerSiteDebris End Behavior = FXListDie ModuleTag_11 DeathFX = FX_StructureSmallDeath End Behavior = FireWeaponWhenDeadBehavior ModuleTag_12 DeathWeapon = StingerSiteDeathConcussion StartsActive = Yes End ;Kris: Cut camo-netting from Demo General ;Behavior = StealthUpdate ModuleTag_13 ; StealthDelay = 2500 ; msec ; StealthForbiddenConditions = ATTACKING USING_ABILITY NO_BLACK_MARKET TAKING_DAMAGE ; MoveThresholdSpeed = 3 ; InnateStealth = No ;Requires upgrade first ; OrderIdleEnemiesToAttackMeUponReveal = Yes ;End ;Behavior = StealthUpgrade ModuleTag_14 ; TriggeredBy = Upgrade_GLACamoNetting ;End ;Behavior = ProductionUpdate ModuleTag_15 ;End Behavior = FlammableUpdate ModuleTag_16 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_17 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death18 DeathWeapon = Demo_SuicideDynamitePack StartsActive = Yes ; turned on by upgrade DeathTypes = NONE +SUICIDED End Behavior = FireWeaponWhenDeadBehavior ModuleTag999 DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb RequiresAllTriggers = Yes; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA End; Behavior = FireWeaponWhenDeadBehavior ModuleTag998 DeathWeapon = Demo_SuicideDynamitePack StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb RequiresAllTriggers = Yes; DeathTypes = NONE +SUICIDED End; Behavior = CommandSetUpgrade ModuleTag_19 CommandSet = Demo_GLAStingerSiteCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Behavior = AIUpdateInterface ModuleTag_20 AutoAcquireEnemiesWhenIdle = No End Geometry = CYLINDER GeometryMajorRadius = 36.0 GeometryHeight = 9.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAHoleStingerSite Demo_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBStingerS_R End ConditionState = DAMAGED REALLYDAMAGED Model = UBStingerS_R End End End ;------------------------------------------------------------------------------ Object Demo_GLAPalace ; *** ART Parameters *** SelectPortrait = SUPalace_L ButtonImage = SUPalace UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBPalace ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace.UBPalace AnimationMode = LOOP End ConditionState = DAMAGED Model = UBPalace_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_D.UBPalace_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBPalace_E ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED Model = UBPalace_G ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_G.UBPalace_G AnimationMode = LOOP End ConditionState = USER_1 Model = UBPalaceEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG.UBPalaceEG AnimationMode = LOOP End ConditionState = USER_1 GARRISONED Model = UBPalaceEGX ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX.UBPalaceEGX AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBPalace_DG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DG.UBPalace_DG AnimationMode = LOOP End ConditionState = DAMAGED USER_1 Model = UBPalaceEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_D.UBPalaceEG_D AnimationMode = LOOP End ConditionState = DAMAGED USER_1 GARRISONED Model = UBPalaceEGX_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_D.UBPalaceEGX_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBPalace_EG ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 Model = UBPalaceEG_E ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 GARRISONED Model = UBPalaceEGX_E ParticleSysBone = Smoke01 SmolderingSmoke End ; day snow ConditionState = SNOW Model = UBPalace_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_S.UBPalace_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBPalace_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DS.UBPalace_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBPalace_ES ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED SNOW Model = UBPalace_SG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_SG.UBPalace_SG AnimationMode = LOOP End ConditionState = USER_1 SNOW Model = UBPalaceEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_S.UBPalaceEG_S AnimationMode = LOOP End ConditionState = USER_1 SNOW GARRISONED Model = UBPalaceEGX_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_S.UBPalaceEGX_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBPalace_DSG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DSG.UBPalace_DSG AnimationMode = LOOP End ConditionState = DAMAGED USER_1 SNOW Model = UBPalaceEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_DS.UBPalaceEG_DS AnimationMode = LOOP End ConditionState = DAMAGED USER_1 SNOW GARRISONED Model = UBPalaceEGX_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_DSG.UBPalaceEGX_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBPalace_ESG ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 SNOW Model = UBPalaceEG_ES ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 GARRISONED SNOW Model = UBPalaceEGX_ES ParticleSysBone = Smoke01 SmolderingSmoke End ; night ConditionState = NIGHT Model = UBPalace_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_N.UBPalace_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBPalace_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DN.UBPalace_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBPalace_EN ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED NIGHT Model = UBPalace_NG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_NG.UBPalace_NG AnimationMode = LOOP End ConditionState = USER_1 NIGHT Model = UBPalaceEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_N.UBPalaceEG_N AnimationMode = LOOP End ConditionState = USER_1 NIGHT GARRISONED Model = UBPalaceEGX_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_N.UBPalaceEGX_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBPalace_DGN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DGN.UBPalace_DGN AnimationMode = LOOP End ConditionState = DAMAGED USER_1 NIGHT Model = UBPalaceEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_DN.UBPalaceEG_DN AnimationMode = LOOP End ConditionState = DAMAGED USER_1 NIGHT GARRISONED Model = UBPalaceEGX_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_DN.UBPalaceEGX_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBPalace_ENG ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 NIGHT Model = UBPalaceEG_EN ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 NIGHT GARRISONED Model = UBPalaceEGX_EN ParticleSysBone = Smoke01 SmolderingSmoke End ; night snow ConditionState = SNOW NIGHT Model = UBPalace_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_NS.UBPalace_NS AnimationMode = LOOP End ConditionState = DAMAGED SNOW NIGHT Model = UBPalace_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DNS.UBPalace_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = UBPalace_ENS ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED SNOW NIGHT Model = UBPalace_GNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_GNS.UBPalace_GNS AnimationMode = LOOP End ConditionState = USER_1 SNOW NIGHT Model = UBPalaceEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_NS.UBPalaceEG_NS AnimationMode = LOOP End ConditionState = USER_1 SNOW NIGHT GARRISONED Model = UBPalaceEGX_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_NS.UBPalaceEGX_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW NIGHT Model = UBPalace_DGNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DGNS.UBPalace_DGNS AnimationMode = LOOP End ConditionState = DAMAGED USER_1 SNOW NIGHT Model = UBPalaceEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_DNS.UBPalaceEG_DNS AnimationMode = LOOP End ConditionState = DAMAGED USER_1 SNOW NIGHT GARRISONED Model = UBPalaceEGX_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_DNS.UBPalaceEGX_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW NIGHT Model = UBPalace_ENSG ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 SNOW NIGHT Model = UBPalaceEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 SNOW NIGHT GARRISONED Model = UBPalaceEGX_ENS ParticleSysBone = Smoke01 SmolderingSmoke End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBPalace Animation = UBPalace.UBPalace AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBPalace_D Animation = UBPalace_D.UBPalace_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBPalace_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBPalace_N Animation = UBPalace_N.UBPalace_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBPalace_DN Animation = UBPalace_DN.UBPalace_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBPalace_EN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBPalace_S Animation = UBPalace_S.UBPalace_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBPalace_DS Animation = UBPalace_DS.UBPalace_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBPalace_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBPalace_NS Animation = UBPalace_NS.UBPalace_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBPalace_DNS Animation = UBPalace_DNS.UBPalace_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBPalace_ENS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION DAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION SNOW USER_1 AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED USER_1 AliasConditionState = SOLD USER_1 AliasConditionState = SOLD DAMAGED USER_1 AliasConditionState = SOLD REALLYDAMAGED USER_1 AliasConditionState = SOLD NIGHT USER_1 AliasConditionState = SOLD NIGHT DAMAGED USER_1 AliasConditionState = SOLD NIGHT REALLYDAMAGED USER_1 AliasConditionState = SOLD SNOW USER_1 AliasConditionState = SOLD SNOW DAMAGED USER_1 AliasConditionState = SOLD SNOW REALLYDAMAGED USER_1 AliasConditionState = SOLD NIGHT SNOW USER_1 AliasConditionState = SOLD NIGHT SNOW DAMAGED USER_1 AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED USER_1 AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD USER_1 AliasConditionState = GARRISONED SOLD DAMAGED USER_1 AliasConditionState = GARRISONED SOLD REALLYDAMAGED USER_1 AliasConditionState = GARRISONED SOLD NIGHT USER_1 AliasConditionState = GARRISONED SOLD NIGHT DAMAGED USER_1 AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED USER_1 AliasConditionState = GARRISONED SOLD SNOW USER_1 AliasConditionState = GARRISONED SOLD SNOW DAMAGED USER_1 AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED USER_1 AliasConditionState = GARRISONED SOLD NIGHT SNOW USER_1 AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED USER_1 AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED USER_1 ;************************************************************************************************************************** End PlacementViewAngle = -45 ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBPalace_A4 Animation = UBPalace_A4.UBPalace_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBPalace_A4N Animation = UBPalace_A4N.UBPalace_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBPalace_A4S Animation = UBPalace_A4S.UBPalace_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBPalace_A4SN Animation = UBPalace_A4SN.UBPalace_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBPalace_A4 Animation = UBPalace_A4.UBPalace_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBPalace_A4N Animation = UBPalace_A4N.UBPalace_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBPalace_A4S Animation = UBPalace_A4S.UBPalace_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBPalace_A4SN Animation = UBPalace_A4SN.UBPalace_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBPalace_A4 Animation = UBPalace_A4.UBPalace_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBPalace_A4N Animation = UBPalace_A4N.UBPalace_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBPalace_A4S Animation = UBPalace_A4S.UBPalace_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBPalace_A4SN Animation = UBPalace_A4SN.UBPalace_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBPalace_A6 Animation = UBPalace_A6.UBPalace_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBPalace_A6N Animation = UBPalace_A6N.UBPalace_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBPalace_A6S Animation = UBPalace_A6S.UBPalace_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBPalace_A6SN Animation = UBPalace_A6SN.UBPalace_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBPalace_A6 Animation = UBPalace_A6.UBPalace_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBPalace_A6N Animation = UBPalace_A6N.UBPalace_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBPalace_A6S Animation = UBPalace_A6S.UBPalace_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBPalace_A6SN Animation = UBPalace_A6SN.UBPalace_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBPalace_A6 Animation = UBPalace_A6.UBPalace_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBPalace_A6N Animation = UBPalace_A6N.UBPalace_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBPalace_A6S Animation = UBPalace_A6S.UBPalace_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBPalace_A6SN Animation = UBPalace_A6SN.UBPalace_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:Palace Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLAArmsDealer End BuildCost = 2500 BuildTime = 45.0 ; in seconds EnergyProduction = 0 VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 300 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmor DamageFX = StructureDamageFXNoShake End CommandSet = Demo_GLAPalaceCommandSet ExperienceValue = 300 300 300 300 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = PalaceSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_TECHNOLOGY GARRISONABLE_UNTIL_DESTROYED IMMUNE_TO_CAPTURE MP_COUNT_FOR_VICTORY SCORE_CREATE FS_ADVANCED_TECH Body = StructureBody ModuleTag_04 MaxHealth = 3000.0 InitialHealth = 3000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 3200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = USER_1 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ProductionUpdate ModuleTag_05 ; nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_SmallStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureMediumDeath End Behavior = GarrisonContain ModuleTag_10 ContainMax = 5 EnterSound = GarrisonEnter ExitSound = GarrisonExit ImmuneToClearBuildingAttacks = Yes End Behavior = FlammableUpdate ModuleTag_11 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = RebuildHoleExposeDie ModuleTag_06 HoleName = GLAHolePalace HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = TransitionDamageFX ModuleTag_12 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 43.0 GeometryMinorRadius = 58.0 GeometryHeight = 30.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAHolePalace Demo_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED RUBBLE Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBPalace_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Flame01 FireBurningBarricade01 End ConditionState = DAMAGED REALLYDAMAGED Model = UBPalace_R ParticleSysBone = Smoke01 SmolderingSmoke End End End ;------------------------------------------------------------------------------ Object Demo_GLASupplyStash ; *** ART Parameters *** SelectPortrait = SUSupplyCenter_L ButtonImage = SUSupplyCenter UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBSupply ParticleSysBone = Smoke01 SteamVent Animation = UBSupply.UBSupply AnimationMode = LOOP End ConditionState = DAMAGED Model = UBSupply_D ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_D.UBSupply_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBSupply_E ParticleSysBone = Smoke01 SteamVent End ConditionState = GARRISONED Model = UBSpplyEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG.UBSpplyEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBSpplyEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_D.UBSpplyEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBSpplyEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_E.UBSpplyEG_E AnimationMode = LOOP End ; SNOW ConditionState = SNOW Model = UBSupply_S ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_S.UBSupply_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBSupply_DS ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_DS.UBSupply_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBSupply_ES ParticleSysBone = Smoke01 SteamVent End ConditionState = GARRISONED SNOW Model = UBSpplyEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_S.UBSpplyEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBSpplyEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DS.UBSpplyEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBSpplyEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_ES.UBSpplyEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBSupply_N Animation = UBSupply_N.UBSupply_N AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent End ConditionState = DAMAGED NIGHT Model = UBSupply_DN Animation = UBSupply_DN.UBSupply_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBSupply_EN ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire End ConditionState = GARRISONED NIGHT Model = UBSpplyEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_N.UBSpplyEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBSpplyEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DN.UBSpplyEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBSpplyEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_EN.UBSpplyEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBSupply_NS Animation = UBSupply_NS.UBSupply_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent End ConditionState = DAMAGED NIGHT SNOW Model = UBSupply_DNS Animation = UBSupply_DNS.UBSupply_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBSupply_ENS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire End ConditionState = GARRISONED SNOW NIGHT Model = UBSpplyEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_NS.UBSpplyEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW NIGHT Model = UBSpplyEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DNS.UBSpplyEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW NIGHT Model = UBSpplyEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_ENS.UBSpplyEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply Animation = UBSupply.UBSupply AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBSupply_D Animation = UBSupply_D.UBSupply_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBSupply_E ;Animation = UBSupply_E.UBSupply_E ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBSupply_N Animation = UBSupply_N.UBSupply_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBSupply_DN Animation = UBSupply_DN.UBSupply_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBSupply_EN ;Animation = UBSupply_EN.UBSupply_EN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBSupply_S Animation = UBSupply_S.UBSupply_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBSupply_DS Animation = UBSupply_DS.UBSupply_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBSupply_ES ;Animation = UBSupply_ES.UBSupply_ES ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBSupply_NS Animation = UBSupply_NS.UBSupply_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBSupply_DNS Animation = UBSupply_DNS.UBSupply_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBSupply_ENS ;Animation = UBSupply_ENS.UBSupply_ENS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:SupplyStash Side = GLADemolitionGeneral EditorSorting = STRUCTURE BuildCost = 1500 RefundValue = 650 ; With nothing (or zero) listed, we sell for half price. BuildTime = 10.0 ; in seconds EnergyProduction = 0 CommandSet = Demo_GLASupplyStashCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = SupplyCenterGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CASH_GENERATOR CAPTURABLE AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE CANNOT_BUILD_NEAR_SUPPLIES FS_SUPPLY_CENTER IGNORE_DOCKING_BONES Body = StructureBody ModuleTag_04 MaxHealth = 2000.0 InitialHealth = 2000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = SupplyCenterCreate ModuleTag_05 ;nothing End Behavior = RebuildHoleExposeDie ModuleTag_06 HoleName = GLAHoleSupplyStash HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_SmallStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_10 ; nothing End Behavior = SupplyCenterProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 36.0 Y: 0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = SpawnBehavior ModuleTag_12 SpawnNumber = 1 SpawnReplaceDelay = 9999 SpawnTemplateName = Demo_GLAInfantryWorker OneShot = Yes CanReclaimOrphans = No End Behavior = SupplyCenterDockUpdate ModuleTag_13 AllowsPassthrough = No ;You can't drive through this guy while docking. Use this when the dock points are all outside NumberApproachPositions = -1 ; This is a Boneless dock, so this means infinite can approach End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_16 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End ;Dont forget to edit the GLA Hole geometry for this object too Geometry = BOX GeometryMajorRadius = 36.0 GeometryMinorRadius = 35.0 GeometryHeight = 30.0 GeometryIsSmall = No ;FactoryExtraBibWidth= 1.0 ; extra placement border. Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAHoleSupplyStash Demo_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED RUBBLE Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBSupply_R ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke End ConditionState = DAMAGED REALLYDAMAGED RUBBLE Model = UBSupply_R ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke End End End ;------------------------------------------------------------------------------ Object Demo_FakeGLASupplyStash ; *** ART Parameters *** SelectPortrait = SUSupplyCenter_L ButtonImage = SUSupplyCenter UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBSupply ParticleSysBone = Smoke01 SteamVent Animation = UBSupply.UBSupply AnimationMode = LOOP End ConditionState = DAMAGED Model = UBSupply_D ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_D.UBSupply_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBSupply_E ParticleSysBone = Smoke01 SteamVent End ConditionState = GARRISONED Model = UBSpplyEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG.UBSpplyEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBSpplyEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_D.UBSpplyEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBSpplyEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_E.UBSpplyEG_E AnimationMode = LOOP End ; SNOW ConditionState = SNOW Model = UBSupply_S ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_S.UBSupply_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBSupply_DS ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_DS.UBSupply_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBSupply_ES ParticleSysBone = Smoke01 SteamVent End ConditionState = GARRISONED SNOW Model = UBSpplyEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_S.UBSpplyEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBSpplyEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DS.UBSpplyEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBSpplyEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_ES.UBSpplyEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBSupply_N Animation = UBSupply_N.UBSupply_N AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent End ConditionState = DAMAGED NIGHT Model = UBSupply_DN Animation = UBSupply_DN.UBSupply_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBSupply_EN ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire End ConditionState = GARRISONED NIGHT Model = UBSpplyEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_N.UBSpplyEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBSpplyEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DN.UBSpplyEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBSpplyEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_EN.UBSpplyEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBSupply_NS Animation = UBSupply_NS.UBSupply_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent End ConditionState = DAMAGED NIGHT SNOW Model = UBSupply_DNS Animation = UBSupply_DNS.UBSupply_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBSupply_ENS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire End ConditionState = GARRISONED SNOW NIGHT Model = UBSpplyEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_S.UBSpplyEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW NIGHT Model = UBSpplyEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DNS.UBSpplyEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW NIGHT Model = UBSpplyEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_ENS.UBSpplyEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply Animation = UBSupply.UBSupply AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBSupply_D Animation = UBSupply_D.UBSupply_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBSupply_E ;Animation = UBSupply_E.UBSupply_E ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBSupply_N Animation = UBSupply_N.UBSupply_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBSupply_DN Animation = UBSupply_DN.UBSupply_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBSupply_EN ;Animation = UBSupply_EN.UBSupply_EN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBSupply_S Animation = UBSupply_S.UBSupply_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBSupply_DS Animation = UBSupply_DS.UBSupply_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBSupply_ES ;Animation = UBSupply_ES.UBSupply_ES ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBSupply_NS Animation = UBSupply_NS.UBSupply_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBSupply_DNS Animation = UBSupply_DNS.UBSupply_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBSupply_ENS ;Animation = UBSupply_ENS.UBSupply_ENS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:SupplyStash Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLACommandCenter End BuildCost = 375 BuildTime = 5.0 ; in seconds EnergyProduction = 0 CommandSet = FakeGLASupplyStashCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 50 50 50 50 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = SupplyCenterGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE Body = StructureBody ModuleTag_04 MaxHealth = 250.0 InitialHealth = 250.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 450 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_SmallStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_10 ; nothing End Behavior = AIUpdateInterface ModuleTag_11 AutoAcquireEnemiesWhenIdle = No End Behavior = SlowDeathBehavior ModuleTag_12 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 0 Weapon = FINAL FakeStructureDetonationWeapon End Behavior = DestroyDie ModuleTag_SlowDeathException RequiredStatus = UNDER_CONSTRUCTION End Behavior = ReplaceObjectUpgrade ModuleTag_13 ReplaceObject = Demo_GLASupplyStash TriggeredBy = Upgrade_BecomeRealGLASupplyStash End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_16 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End ;Dont forget to edit the GLA Hole geometry for this object too Geometry = BOX GeometryMajorRadius = 36.0 GeometryMinorRadius = 35.0 GeometryHeight = 30.0 GeometryIsSmall = No ;FactoryExtraBibWidth= 1.0 ; extra placement border. Shadow = SHADOW_VOLUME ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure. ShadowSizeX = 105 ShadowSizeY = 105 BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;GLA Barracks Object Demo_GLABarracks ; *** ART Parameters *** SelectPortrait = SUBarracks_L ButtonImage = SUBarracks UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBBARRACKS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks.UBBarracks AnimationMode = LOOP End ConditionState = DAMAGED Model = UBBarracks_D ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Flame01 FireFactionMedium Animation = UBBarracks_D.UBBarracks_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBBarracks_E ParticleSysBone = Smoke01 ChimneySmokeSmall ; ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Smoke04 SmokeFactionLarge ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Flame01 FireFactionMedium ; ParticleSysBone = Flame02 FireFactionLarge Animation = UBBarracks_E.UBBarracks_E AnimationMode = LOOP End ConditionState = GARRISONED Model = UBBarrksEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG.UBBarrksEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBBarrksEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_D.UBBarrksEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBBarrksEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_E.UBBarrksEG_E AnimationMode = LOOP End ; day ConditionState = SNOW Model = UBBARRACKS_S ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_S.UBBarracks_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBBarracks_DS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Flame01 FireFactionMedium Animation = UBBarracks_DS.UBBarracks_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBBarracks_ES ParticleSysBone = Smoke01 ChimneySmokeSmall ; ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Smoke04 SmokeFactionLarge ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Flame01 FireFactionMedium ; ParticleSysBone = Flame02 FireFactionLarge Animation = UBBarracks_ES.UBBarracks_ES AnimationMode = LOOP End ConditionState = GARRISONED SNOW Model = UBBarrksEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_S.UBBarrksEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBBarrksEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DS.UBBarrksEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBBarrksEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_ES.UBBarrksEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBBARRACKS_N ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_N.UBBarracks_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBBarracks_DN ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Flame01 GLAPowerPlantFlame Animation = UBBarracks_DN.UBBarracks_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBBarracks_EN ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Smoke04 GLAPowerPlantSmoke ParticleSysBone = Smoke05 GLAPowerPlantSmoke ParticleSysBone = Flame01 FireSmallContinuous ParticleSysBone = Flame02 GLAPowerPlantFlame Animation = UBBarracks_EN.UBBarracks_EN AnimationMode = LOOP End ConditionState = GARRISONED NIGHT Model = UBBarrksEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_N.UBBarrksEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBBarrksEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DN.UBBarrksEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBBarrksEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_EN.UBBarrksEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBBARRACKS_NS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_NS.UBBarracks_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = UBBarracks_DNS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Flame01 GLAPowerPlantFlame Animation = UBBarracks_DNS.UBBarracks_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBBarracks_ENS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Smoke04 GLAPowerPlantSmoke ParticleSysBone = Smoke05 GLAPowerPlantSmoke ParticleSysBone = Flame01 FireSmallContinuous ParticleSysBone = Flame02 GLAPowerPlantFlame Animation = UBBarracks_ENS.UBBarracks_ENS AnimationMode = LOOP End ConditionState = GARRISONED NIGHT SNOW Model = UBBarrksEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_NS.UBBarrksEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBBarrksEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DNS.UBBarrksEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBBarrksEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_ENS.UBBarrksEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks Animation = UBBarracks.UBBarracks AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBBarracks_D Animation = UBBarracks_D.UBBarracks_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBBarracks_E Animation = UBBarracks_E.UBBarracks_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBBarracks_N Animation = UBBarracks_N.UBBarracks_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBBarracks_DN Animation = UBBarracks_DN.UBBarracks_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBBarracks_EN Animation = UBBarracks_EN.UBBarracks_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBBarracks_S Animation = UBBarracks_S.UBBarracks_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBBarracks_DS Animation = UBBarracks_DS.UBBarracks_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBBarracks_ES Animation = UBBarracks_ES.UBBarracks_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBBarracks_NS Animation = UBBarracks_NS.UBBarracks_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBBarracks_DNS Animation = UBBarracks_DNS.UBBarracks_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBBarracks_ENS Animation = UBBarracks_ENS.UBBarracks_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke ParticleSysBone = Smoke06 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke ParticleSysBone = Smoke06 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke ParticleSysBone = Smoke06 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke ParticleSysBone = Smoke06 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:Barracks Side = GLADemolitionGeneral EditorSorting = STRUCTURE BuildCost = 500 BuildTime = 10.0 ; in seconds EnergyProduction = 0 CommandSet = Demo_GLABarracksCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY None Weapon = SECONDARY None End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 100 100 100 100 ; Experience point value at each level Prerequisites ; Object = Demo_GLASupplyStash End ; *** AUDIO Parameters *** VoiceSelect = BarracksGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE HEAL_PAD CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE FS_BARRACKS Body = StructureBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = HealContain ModuleTag_05 ContainMax = 10 ;way bigger than the # of objects we can have TimeForFullHeal = 2000 ;(in milliseconds) AllowInsideKindOf = INFANTRY AllowAlliesInside = Yes AllowNeutralInside = No AllowEnemiesInside = No End Behavior = RebuildHoleExposeDie ModuleTag_06 HoleName = GLAHoleBarracks HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_10 ; nothing End Behavior = DefaultProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 42.0 Y: 0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = FlammableUpdate ModuleTag_13 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_16 ;-------------DESIGNED FOR SMALL MEDIUM FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End ;I have just pulled my ripcord, and this ain't no parachute! Behavior = SlowDeathBehavior ModuleTag_Death17 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = CommandSetUpgrade ModuleTag_18 TriggeredBy = Upgrade_GLAWorkerFakeCommandSet RemovesUpgrades = Upgrade_GLAWorkerRealCommandSet CommandSet = Demo_GLAWorkerFakeBuildingsCommandSet End Behavior = CommandSetUpgrade ModuleTag_19 TriggeredBy = Upgrade_GLAWorkerRealCommandSet RemovesUpgrades = Upgrade_GLAWorkerFakeCommandSet Upgrade_GLAWorkerRealCommandSet CommandSet = Demo_GLAWorkerCommandSet End Geometry = BOX GeometryMajorRadius = 42.0 GeometryMinorRadius = 52.0 GeometryHeight = 20.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;Fake GLA Barracks Object Demo_FakeGLABarracks ; *** ART Parameters *** SelectPortrait = SUBarracks_L ButtonImage = SUBarracks UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBBARRACKS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks.UBBarracks AnimationMode = LOOP End ConditionState = DAMAGED Model = UBBarracks_D ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Flame01 FireFactionMedium Animation = UBBarracks_D.UBBarracks_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBBarracks_E ParticleSysBone = Smoke01 ChimneySmokeSmall ; ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Smoke04 SmokeFactionLarge ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Flame01 FireFactionMedium ; ParticleSysBone = Flame02 FireFactionLarge Animation = UBBarracks_E.UBBarracks_E AnimationMode = LOOP End ConditionState = GARRISONED Model = UBBarrksEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG.UBBarrksEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBBarrksEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_D.UBBarrksEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBBarrksEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_E.UBBarrksEG_E AnimationMode = LOOP End ; day ConditionState = SNOW Model = UBBARRACKS_S ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_S.UBBarracks_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBBarracks_DS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Flame01 FireFactionMedium Animation = UBBarracks_DS.UBBarracks_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBBarracks_ES ParticleSysBone = Smoke01 ChimneySmokeSmall ; ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Smoke04 SmokeFactionLarge ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Flame01 FireFactionMedium ; ParticleSysBone = Flame02 FireFactionLarge Animation = UBBarracks_ES.UBBarracks_ES AnimationMode = LOOP End ConditionState = GARRISONED SNOW Model = UBBarrksEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_S.UBBarrksEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBBarrksEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DS.UBBarrksEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBBarrksEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_ES.UBBarrksEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBBARRACKS_N ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_N.UBBarracks_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBBarracks_DN ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Flame01 GLAPowerPlantFlame Animation = UBBarracks_DN.UBBarracks_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBBarracks_EN ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Smoke04 GLAPowerPlantSmoke ParticleSysBone = Smoke05 GLAPowerPlantSmoke ParticleSysBone = Flame01 FireSmallContinuous ParticleSysBone = Flame02 GLAPowerPlantFlame Animation = UBBarracks_EN.UBBarracks_EN AnimationMode = LOOP End ConditionState = GARRISONED NIGHT Model = UBBarrksEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_N.UBBarrksEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBBarrksEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DN.UBBarrksEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBBarrksEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_EN.UBBarrksEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBBARRACKS_NS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_NS.UBBarracks_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = UBBarracks_DNS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Flame01 GLAPowerPlantFlame Animation = UBBarracks_DNS.UBBarracks_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBBarracks_ENS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Smoke04 GLAPowerPlantSmoke ParticleSysBone = Smoke05 GLAPowerPlantSmoke ParticleSysBone = Flame01 FireSmallContinuous ParticleSysBone = Flame02 GLAPowerPlantFlame Animation = UBBarracks_ENS.UBBarracks_ENS AnimationMode = LOOP End ConditionState = GARRISONED NIGHT SNOW Model = UBBarrksEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_NS.UBBarrksEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBBarrksEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DNS.UBBarrksEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBBarrksEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_ENS.UBBarrksEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks Animation = UBBarracks.UBBarracks AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBBarracks_D Animation = UBBarracks_D.UBBarracks_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBBarracks_E Animation = UBBarracks_E.UBBarracks_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBBarracks_N Animation = UBBarracks_N.UBBarracks_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBBarracks_DN Animation = UBBarracks_DN.UBBarracks_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBBarracks_EN Animation = UBBarracks_EN.UBBarracks_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBBarracks_S Animation = UBBarracks_S.UBBarracks_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBBarracks_DS Animation = UBBarracks_DS.UBBarracks_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBBarracks_ES Animation = UBBarracks_ES.UBBarracks_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBBarracks_NS Animation = UBBarracks_NS.UBBarracks_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBBarracks_DNS Animation = UBBarracks_DNS.UBBarracks_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBBarracks_ENS Animation = UBBarracks_ENS.UBBarracks_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke ParticleSysBone = Smoke06 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke ParticleSysBone = Smoke06 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke ParticleSysBone = Smoke06 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke ParticleSysBone = Smoke06 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:Barracks Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLACommandCenter End BuildCost = 125 BuildTime = 5.0 ; in seconds EnergyProduction = 0 CommandSet = FakeGLABarracksCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 25 25 25 25 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = BarracksGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE Body = StructureBody ModuleTag_04 MaxHealth = 125.0 InitialHealth = 125.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 325 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = AIUpdateInterface ModuleTag_06 AutoAcquireEnemiesWhenIdle = No End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_10 ; nothing End Behavior = FlammableUpdate ModuleTag_11 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_12 ;-------------DESIGNED FOR SMALL MEDIUM FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = SlowDeathBehavior ModuleTag_13 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 0 Weapon = FINAL FakeStructureDetonationWeapon End Behavior = DestroyDie ModuleTag_SlowDeathException RequiredStatus = UNDER_CONSTRUCTION End Behavior = ReplaceObjectUpgrade ModuleTag_14 ReplaceObject = Demo_GLABarracks TriggeredBy = Upgrade_BecomeRealGLABarracks End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Geometry = BOX GeometryMajorRadius = 42.0 GeometryMinorRadius = 52.0 GeometryHeight = 20.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure. ShadowSizeX = 120 ShadowSizeY = 110 BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAHoleBarracks Demo_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBBarracks_R ParticleSysBone = FLame01 FireSmallContinuous ParticleSysBone = Flame02 FireSmallContinuous ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End ConditionState = DAMAGED REALLYDAMAGED Model = UBBarracks_R ParticleSysBone = FLame01 FireSmallContinuous ParticleSysBone = Flame02 FireSmallContinuous ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End End End ;------------------------------------------------------------------------------ ;GLA Arms Dealer Object Demo_GLAArmsDealer ; *** ART Parameters *** SelectPortrait = SUArmsDealer_L ButtonImage = SUArmsDealer UpgradeCameo1 = Upgrade_GLAFortifiedStructure ; ----------------- Main Building ------------------- Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBArmDeal Animation = UBArmDeal.UBArmDeal AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ;damaged ConditionState = DAMAGED Model = UBArmDeal_D Animation = UBArmDeal_D.UBArmDeal_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmolderingSmoke ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 SmolderingFire ; ParticleSysBone = Fire06 SmolderingFire End ;really damaged ConditionState = REALLYDAMAGED RUBBLE Model = UBArmDeal_E Animation = UBArmDeal_E.UBArmDeal_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Smoke07 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 FireFactionLarge ; ParticleSysBone = Fire06 SmolderingFire ; ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED Model = UBArmDlEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG.UBArmDlEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBArmDlEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_D.UBArmDlEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBArmDlEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_E.UBArmDlEG_E AnimationMode = LOOP End ; snow ConditionState = SNOW Model = UBArmDeal_S Animation = UBArmDeal_S.UBArmDeal_S AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ;damaged ConditionState = DAMAGED SNOW Model = UBArmDeal_DS Animation = UBArmDeal_DS.UBArmDeal_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmolderingSmoke ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 SmolderingFire ; ParticleSysBone = Fire06 SmolderingFire End ;really damaged ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBArmDeal_ES Animation = UBArmDeal_ES.UBArmDeal_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Smoke07 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 FireFactionLarge ; ParticleSysBone = Fire06 SmolderingFire ; ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED SNOW Model = UBArmDlEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_S.UBArmDlEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBArmDlEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DS.UBArmDlEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBArmDlEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_ES.UBArmDlEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBArmDeal_N Animation = UBArmDeal_N.UBArmDeal_N AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ConditionState = DAMAGED NIGHT Model = UBArmDeal_DN Animation = UBArmDeal_DN.UBArmDeal_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBArmDeal_EN Animation = UBArmDeal_EN.UBArmDeal_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED NIGHT Model = UBArmDlEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_N.UBArmDlEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBArmDlEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DN.UBArmDlEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBArmDlEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_EN.UBArmDlEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBArmDeal_NS Animation = UBArmDeal_NS.UBArmDeal_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ConditionState = DAMAGED NIGHT SNOW Model = UBArmDeal_DNS Animation = UBArmDeal_DNS.UBArmDeal_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBArmDeal_ENS Animation = UBArmDeal_ENS.UBArmDeal_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED NIGHT SNOW Model = UBArmDlEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_NS.UBArmDlEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBArmDlEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DNS.UBArmDlEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBArmDlEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_ENS.UBArmDlEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal Animation = UBArmDeal.UBArmDeal AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBArmDeal_D Animation = UBArmDeal_D.UBArmDeal_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBArmDeal_E Animation = UBArmDeal_E.UBArmDeal_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBArmDeal_N Animation = UBArmDeal_N.UBArmDeal_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBArmDeal_DN Animation = UBArmDeal_DN.UBArmDeal_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBArmDeal_EN Animation = UBArmDeal_EN.UBArmDeal_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBArmDeal_S Animation = UBArmDeal_S.UBArmDeal_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBArmDeal_DS Animation = UBArmDeal_DS.UBArmDeal_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBArmDeal_ES Animation = UBArmDeal_ES.UBArmDeal_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBArmDeal_NS Animation = UBArmDeal_NS.UBArmDeal_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBArmDeal_DNS Animation = UBArmDeal_DNS.UBArmDeal_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBArmDeal_ENS Animation = UBArmDeal_ENS.UBArmDeal_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4S Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4SN Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBArmDeal_A4S ; @todo srj -- anim missing Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBArmDeal_A4SN ; @todo srj -- anim missing Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBArmDeal_A4S ; @todo srj -- anim missing Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBArmDeal_A4SN Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ----------------- the door ----------------------- Draw = W3DModelDraw ModuleTag_04 DefaultConditionState Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = SNOW NIGHT DOOR_1_OPENING ConditionState = DOOR_1_OPENING DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_CLOSING Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = SNOW NIGHT DOOR_1_CLOSING ConditionState = DOOR_1_CLOSING DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_OPEN Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN DAMAGED ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBArmDeal_A7D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBArmDeal_A7E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:ArmsDealer Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLASupplyStash End BuildCost = 2500 BuildTime = 15.0 ; in seconds EnergyProduction = 0 CommandSet = Demo_GLAArmsDealerCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = WarFactoryGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE REPAIR_PAD CAPTURABLE FS_TECHNOLOGY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE FS_FACTORY FS_WARFACTORY Body = StructureBody ModuleTag_05 MaxHealth = 2000.0 InitialHealth = 2000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = RebuildHoleExposeDie ModuleTag_06 HoleName = GLAHoleArmsDealer HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureMediumDeath End Behavior = ProductionUpdate ModuleTag_10 NumDoorAnimations = 1 DoorOpeningTime = 2000 ;in mSeconds DoorWaitOpenTime = 3000 ;in mSeconds DoorCloseTime = 2000 ;in mSeconds ConstructionCompleteDuration = 1500 ;in mSeconds End Behavior = DefaultProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: -20.0 Y:-15.0 Z:0.0 NaturalRallyPoint = X: 40.0 Y:-15.0 Z:0.0 ;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RepairDockUpdate ModuleTag_12 TimeForFullHeal = 5000 ;(in milliseconds) NumberApproachPositions = 5 End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_31 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 40.0 GeometryMinorRadius = 62.0 GeometryHeight = 25.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAHoleArmsDealer Demo_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBArmDeal_R ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ConditionState = DAMAGED REALLYDAMAGED Model = UBArmDeal_R ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End End End ;------------------------------------------------------------------------------ ;GLA Arms Dealer Object Demo_FakeGLAArmsDealer ; *** ART Parameters *** SelectPortrait = SUArmsDealer_L ButtonImage = SUArmsDealer UpgradeCameo1 = Upgrade_GLAFortifiedStructure ; ----------------- Main Building ------------------- Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBArmDeal Animation = UBArmDeal.UBArmDeal AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ;damaged ConditionState = DAMAGED Model = UBArmDeal_D Animation = UBArmDeal_D.UBArmDeal_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmolderingSmoke ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 SmolderingFire ; ParticleSysBone = Fire06 SmolderingFire End ;really damaged ConditionState = REALLYDAMAGED RUBBLE Model = UBArmDeal_E Animation = UBArmDeal_E.UBArmDeal_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Smoke07 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 FireFactionLarge ; ParticleSysBone = Fire06 SmolderingFire ; ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED Model = UBArmDlEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG.UBArmDlEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBArmDlEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_D.UBArmDlEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBArmDlEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_E.UBArmDlEG_E AnimationMode = LOOP End ; snow ConditionState = SNOW Model = UBArmDeal_S Animation = UBArmDeal_S.UBArmDeal_S AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ;damaged ConditionState = DAMAGED SNOW Model = UBArmDeal_DS Animation = UBArmDeal_DS.UBArmDeal_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmolderingSmoke ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 SmolderingFire ; ParticleSysBone = Fire06 SmolderingFire End ;really damaged ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBArmDeal_ES Animation = UBArmDeal_ES.UBArmDeal_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Smoke07 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 FireFactionLarge ; ParticleSysBone = Fire06 SmolderingFire ; ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED SNOW Model = UBArmDlEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_S.UBArmDlEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBArmDlEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DS.UBArmDlEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBArmDlEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_ES.UBArmDlEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBArmDeal_N Animation = UBArmDeal_N.UBArmDeal_N AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ConditionState = DAMAGED NIGHT Model = UBArmDeal_DN Animation = UBArmDeal_DN.UBArmDeal_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBArmDeal_EN Animation = UBArmDeal_EN.UBArmDeal_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED NIGHT Model = UBArmDlEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_N.UBArmDlEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBArmDlEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DN.UBArmDlEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBArmDlEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_EN.UBArmDlEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBArmDeal_NS Animation = UBArmDeal_NS.UBArmDeal_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ConditionState = DAMAGED NIGHT SNOW Model = UBArmDeal_DNS Animation = UBArmDeal_DNS.UBArmDeal_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBArmDeal_ENS Animation = UBArmDeal_ENS.UBArmDeal_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED NIGHT SNOW Model = UBArmDlEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_NS.UBArmDlEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBArmDlEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DNS.UBArmDlEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBArmDlEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_ENS.UBArmDlEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal Animation = UBArmDeal.UBArmDeal AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBArmDeal_D Animation = UBArmDeal_D.UBArmDeal_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBArmDeal_E Animation = UBArmDeal_E.UBArmDeal_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBArmDeal_N Animation = UBArmDeal_N.UBArmDeal_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBArmDeal_DN Animation = UBArmDeal_DN.UBArmDeal_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBArmDeal_EN Animation = UBArmDeal_EN.UBArmDeal_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBArmDeal_S Animation = UBArmDeal_S.UBArmDeal_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBArmDeal_DS Animation = UBArmDeal_DS.UBArmDeal_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBArmDeal_ES Animation = UBArmDeal_ES.UBArmDeal_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBArmDeal_NS Animation = UBArmDeal_NS.UBArmDeal_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBArmDeal_DNS Animation = UBArmDeal_DNS.UBArmDeal_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBArmDeal_ENS Animation = UBArmDeal_ENS.UBArmDeal_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4S Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4SN Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBArmDeal_A4S ; @todo srj -- anim missing Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBArmDeal_A4SN ; @todo srj -- anim missing Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBArmDeal_A4S ; @todo srj -- anim missing Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBArmDeal_A4SN Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ----------------- the door ----------------------- Draw = W3DModelDraw ModuleTag_04 DefaultConditionState Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = SNOW NIGHT DOOR_1_OPENING ConditionState = DOOR_1_OPENING DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_CLOSING Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = SNOW NIGHT DOOR_1_CLOSING ConditionState = DOOR_1_CLOSING DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_OPEN Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN DAMAGED ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBArmDeal_A7D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBArmDeal_A7E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:ArmsDealer Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLASupplyStash End BuildCost = 625 BuildTime = 10.0 ; in seconds EnergyProduction = 0 CommandSet = FakeGLAArmsDealerCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 50 50 50 50 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = WarFactoryGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE Body = StructureBody ModuleTag_05 MaxHealth = 500.0 InitialHealth = 500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 700 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureMediumDeath End Behavior = AIUpdateInterface ModuleTag_10 AutoAcquireEnemiesWhenIdle = No End Behavior = ProductionUpdate ModuleTag_11 ; nothing End Behavior = SlowDeathBehavior ModuleTag_12 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 0 Weapon = FINAL FakeStructureDetonationWeapon End Behavior = DestroyDie ModuleTag_SlowDeathException RequiredStatus = UNDER_CONSTRUCTION End Behavior = ReplaceObjectUpgrade ModuleTag_13 ReplaceObject = Demo_GLAArmsDealer TriggeredBy = Upgrade_BecomeRealGLAArmsDealer End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_31 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 40.0 GeometryMinorRadius = 62.0 GeometryHeight = 25.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure. ShadowSizeX = 127 ShadowSizeY = 144 BuildCompletion = PLACED_BY_PLAYER End ; ----------------------------------------------------------------------------- Object Demo_GLASneakAttackTunnelNetworkStart ; *** ART Parameters *** SelectPortrait = SUTunnel_L ButtonImage = SUTunnel Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;***NONE ConditionState = NONE Model = UBSNKATK_1ANM Animation = UBSNKATK_1ANM.UBSNKATK_1ANM AnimationMode = ONCE ParticleSysBone = DIRT SneakAttackCrackDust ;;;ParticleSysBone = DIRT SneakAttackDirt ;steveM commented out 8.4.03 ParticleSysBone = DIRT SneakAttackCrackDust1 ParticleSysBone = DIRT SneakAttackDebris ParticleSysBone = DIRT SneakAttackDebris0 ParticleSysBone = DIRT SneakAttackDebris1 ParticleSysBone = DIRT SneakAttackCrackDust0 ParticleSysBone = DIRT SneakAttackSteamVent End ; ConditionState ; Model = UBSNKATK_1ANM ; Animation = UBSNKATK_1ANM.UBSNKATK_1ANM ; AnimationMode = ONCE ; End ConditionState = DAMAGED Model = UBSNATK_E ParticleSysBone = DIRT SneakAttackCrackDust ParticleSysBone = DIRT SneakAttackDirt ParticleSysBone = DIRT SneakAttackCrackDust1 ParticleSysBone = DIRT SneakAttackDebris ParticleSysBone = DIRT SneakAttackDebris0 ParticleSysBone = DIRT SneakAttackDebris1 ParticleSysBone = DIRT SneakAttackCrackDust0 ParticleSysBone = DIRT SneakAttackSteamVent End ConditionState = REALLYDAMAGED RUBBLE Model = UBSNATK_R End ConditionState = SNOW Model = UBSNATK_Sanm Animation = UBSNATK_Sanm.UBSNATK_Sanm AnimationMode = ONCE ParticleSysBone = DIRT SneakAttackCrackDustSnow ParticleSysBone = DIRT SneakAttackDirtSnow ParticleSysBone = DIRT SneakAttackCrackDust1Snow ParticleSysBone = DIRT SneakAttackDebrisSnow ParticleSysBone = DIRT SneakAttackDebris0Snow ParticleSysBone = DIRT SneakAttackDebris1Snow ParticleSysBone = DIRT SneakAttackCrackDust0Snow ParticleSysBone = DIRT SneakAttackSteamVent End ConditionState = DAMAGED SNOW Model = UBSNATK_ES ParticleSysBone = DIRT SneakAttackCrackDustSnow ParticleSysBone = DIRT SneakAttackDirtSnow ParticleSysBone = DIRT SneakAttackCrackDust1Snow ParticleSysBone = DIRT SneakAttackDebrisSnow ParticleSysBone = DIRT SneakAttackDebris0Snow ParticleSysBone = DIRT SneakAttackDebris1Snow ParticleSysBone = DIRT SneakAttackCrackDust0Snow ParticleSysBone = DIRT SneakAttackSteamVent End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBSNATK_RS ParticleSysBone = DIRT SneakAttackCrackDustSnow ParticleSysBone = DIRT SneakAttackDirtSnow ParticleSysBone = DIRT SneakAttackCrackDust1Snow ParticleSysBone = DIRT SneakAttackDebrisSnow ParticleSysBone = DIRT SneakAttackDebris0Snow ParticleSysBone = DIRT SneakAttackDebris1Snow ParticleSysBone = DIRT SneakAttackCrackDust0Snow ParticleSysBone = DIRT SneakAttackSteamVent End ConditionState = NIGHT Model = UBSNKATK_1ANM Animation = UBSNKATK_1ANM.UBSNKATK_1ANM AnimationMode = ONCE End ConditionState = DAMAGED NIGHT Model = UBSNATK_E End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBSNATK_R End ConditionState = SNOW NIGHT Model = UBSNATK_Sanm Animation = UBSNATK_Sanm.UBSNATK_Sanm AnimationMode = ONCE End ConditionState = DAMAGED SNOW NIGHT Model = UBSNATK_ES End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = UBSNATK_RS End End PlacementViewAngle = -44 ; ***DESIGN parameters *** DisplayName = OBJECT:TunnelNetwork Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites ;None End EnergyProduction = 0 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = DamageFX_Empty End ExperienceValue = 100 100 100 100 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = TunnelNetworkSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy SoundEnter = GarrisonEnter SoundExit = GarrisonExit ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE IMMOBILE IMMUNE_TO_CAPTURE Body = ActiveBody ModuleTag_04 MaxHealth = 99999.0 InitialHealth = 99999.0 End Behavior = DestroyDie ModuleTag_10 ;nothing End Behavior = CreateObjectDie ModuleTag_11 CreationList = OCL_CreateSneakAttackTunnel End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = LifetimeUpdate ModuleTag_16 MinLifetime = 5000 ; min lifetime in msec MaxLifetime = 5000 ; max lifetime in msec End Behavior = FireWeaponUpdate ModuleTag_17 Weapon = SneakAttackShockwaveWeaponSmall InitialDelay = 10; End Behavior = FireWeaponUpdate ModuleTag_18 Weapon = SneakAttackShockwaveWeaponBig InitialDelay = 1000; End Behavior = FireWeaponUpdate ModuleTag_19 Weapon = SneakAttackShockwaveWeaponBig InitialDelay = 2500; End ; IMPORTANT: DO NOT GIVE THIS OBJECT ANY EXTENTS -ML Geometry = CYLINDER GeometryMajorRadius = 25.0 GeometryHeight = 20.0 GeometryIsSmall = No FactoryExtraBibWidth = 25.0 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ; ----------------------------------------------------------------------------- Object Demo_GLASneakAttackTunnelNetwork ; *** ART Parameters *** SelectPortrait = SUSneakAttack_L ButtonImage = SUSneakAttack Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;***DEFAULT ;DefaultConditionState ConditionState Model = UBSNATK_1 End ConditionState = DAMAGED Model = UBSNATK_E End ConditionState = REALLYDAMAGED RUBBLE Model = UBSNATK_R ;ParticleSysBone = Mound SteamVent End ConditionState = SNOW Model = UBSNATK_S End ConditionState = DAMAGED SNOW Model = UBSNATK_ES End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBSNATK_RS ;ParticleSysBone = Mound SteamVent End ConditionState = NIGHT Model = UBSNATK_N End ConditionState = DAMAGED NIGHT Model = UBSNATK_E End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBSNATK_R ;ParticleSysBone = Mound SteamVent End ConditionState = SNOW NIGHT Model = UBSNATK_NS End ConditionState = DAMAGED SNOW NIGHT Model = UBSNATK_ES End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = UBSNATK_RS ;ParticleSysBone = Mound SteamVent End End PlacementViewAngle = -44 ; ***DESIGN parameters *** DisplayName = OBJECT:TunnelNetwork Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites ;None End EnergyProduction = 0 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY TunnelNetworkGunDUMMY ;So AI can attack from it in guard mode. End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End CommandSet = GLASneakAttackTunnelCommandSet ExperienceValue = 100 100 100 100 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = TunnelNetworkSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy SoundEnter = GarrisonEnter SoundExit = GarrisonExit ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_BASE_DEFENSE IMMUNE_TO_CAPTURE SCORE_CREATE AUTO_RALLYPOINT Body = StructureBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = StealthDetectorUpdate ModuleTag_13 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 150 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = TunnelContain ModuleTag_05 TimeForFullHeal = 5000 ;(in milliseconds) End Behavior = AIUpdateInterface ModuleTag_AI Turret TurretTurnRate = 180 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes Stealthed; defensive weapon End ;Kris: Removed this module because units exiting the container would extract information from ;the wrong exit interface. Because TunnelContain has the proper information for exiting properly ;we don't need this one. Plus sneak attack tunnels don't produce units anyway. ;Behavior = DefaultProductionExitUpdate ModuleTag_06 ; UnitCreatePoint = X: 5.0 Y: 0.0 Z:0.0 ; NaturalRallyPoint = X: 35.0 Y: 0.0 Z:0.0 ;End Behavior = DestroyDie ModuleTag_10 ;nothing End Behavior = CreateObjectDie ModuleTag_11 CreationList = OCL_ABTunnelNetworkDebris End Behavior = FXListDie ModuleTag_12 DeathFX = FX_StructureSmallDeath End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_17 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = CYLINDER GeometryMajorRadius = 25.0 GeometryHeight = 20.0 GeometryIsSmall = No FactoryExtraBibWidth = 25.0 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Demo_GLAInfantryRebel ; *** ART Parameters *** SelectPortrait = SURebel_L ButtonImage = SURebel UpgradeCameo1 = Upgrade_GLAAPBullets UpgradeCameo2 = Upgrade_InfantryCaptureBuilding UpgradeCameo3 = Demo_Upgrade_SuicideBomb ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; this says "we don't use these condition states at all, so completely ; ignore them for purposes of matchmaking"... this is useful to help ; reduce the number of AliasConditionState clauses you must add in ; order to avoid ambiguity in some cases. IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A ; ---- standing DefaultConditionState Model = UIRGrd_SKN IdleAnimation = UIRGrd_SKL.UIRGrd_STN 0 35 IdleAnimation = UIRGrd_SKL.UIRGrd_IDA IdleAnimation = UIRGrd_SKL.UIRGrd_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX TransitionKey = TRANS_Standing End ConditionState = REALLYDAMAGED IdleAnimation = UIRGrd_SKL.UIRGrd_STB 0 35 IdleAnimation = UIRGrd_SKL.UIRGrd_IDC IdleAnimation = UIRGrd_SKL.UIRGrd_IDD AnimationMode = ONCE TransitionKey = TRANS_StandingHurt End ; ---- moving ConditionState = MOVING Animation = UIRGrd_SKL.UIRGrd_RNA 15 AnimationMode = LOOP TransitionKey = TRANS_Walking ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING ConditionState = MOVING REALLYDAMAGED Animation = UIRGrd_SKL.UIRGrd_RNB 25 AnimationMode = LOOP TransitionKey = TRANS_WalkingHurt ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING REALLYDAMAGED ; ---- dying ConditionState = DYING Animation = UIRGrd_SKL.UIRGrd_DTA Animation = UIRGrd_SKL.UIRGrd_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIRGrd_SKL.UIRGrd_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIRGrd_SKL.UIRGrd_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIRGrd_SKL.UIRGrd_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = UIRGrd_SKL.UIRGrd_IDB End ; ---- firing ConditionState = USING_WEAPON_A Animation = UIRGrd_SKL.UIRGrd_ATA AnimationMode = LOOP TransitionKey = TRANS_Firing End ConditionState = USING_WEAPON_A REALLYDAMAGED Animation = UIRGrd_SKL.UIRGrd_ATA2 AnimationMode = LOOP TransitionKey = TRANS_FiringHurt End TransitionState = TRANS_Standing TRANS_Firing Animation = UIRGrd_SKL.UIRGrd_ATAST AnimationMode = ONCE End TransitionState = TRANS_Firing TRANS_Standing Animation = UIRGrd_SKL.UIRGrd_ATAED AnimationMode = ONCE End TransitionState = TRANS_StandingHurt TRANS_FiringHurt Animation = UIRGrd_SKL.UIRGrd_ATA2ED AnimationMode = ONCE_BACKWARDS End TransitionState = TRANS_FiringHurt TRANS_StandingHurt Animation = UIRGrd_SKL.UIRGrd_ATA2ED AnimationMode = ONCE End TransitionState = TRANS_Standing TRANS_StandingHurt Animation = UIRGrd_SKL.UIRGrd_ATA2ED AnimationMode = ONCE End ; ------- Bldg-capture ConditionState = UNPACKING Model = UIRGrd_F_SKN Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1 AnimationMode = ONCE End AliasConditionState = UNPACKING REALLYDAMAGED ConditionState = RAISING_FLAG Model = UIRGrd_F_SKN Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2 AnimationMode = ONCE TransitionKey = TRANS_Raising End AliasConditionState = RAISING_FLAG REALLYDAMAGED ConditionState = PACKING Model = UIRGrd_F_SKN Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST TransitionKey = TRANS_Packing End AliasConditionState = PACKING REALLYDAMAGED TransitionState = TRANS_Raising TRANS_Packing Model = UIRGrd_F_SKN Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:Rebel Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GLARebelMachineGun Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Demo_GLABarracks End BuildCost = 150 BuildTime = 5.0 ;in seconds ExperienceValue = 15 15 30 40 ;Experience point value at each level ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAInfantryRebelCommandSet ; *** AUDIO Parameters *** VoiceSelect = RebelVoiceSelect VoiceMove = RebelVoiceMove VoiceGuard = RebelVoiceMove VoiceAttack = RebelVoiceAttack SoundStealthOn = StealthOn SoundStealthOff = StealthOff VoiceFear = RebelVoiceFear VoiceTaskComplete = RebelVoiceCaptureComplete UnitSpecificSounds VoiceCreate = RebelVoiceCreate VoiceSubdue = RebelVoiceSubdue VoiceGarrison = RebelVoiceGarrison VoiceEnter = RebelVoiceMove VoiceEnterHostile = RebelVoiceMove VoiceGetHealed = RebelVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. End Locomotor = SET_NORMAL BasicHumanLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 5.0 End Behavior = StealthUpdate ModuleTag_07 StealthDelay = 2500 ; msec StealthForbiddenConditions = ATTACKING USING_ABILITY MoveThresholdSpeed = 3 InnateStealth = No ;Requires upgrade first OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = WeaponBonusUpgrade ModuleTag_09 TriggeredBy = Upgrade_GLAAPBullets End Behavior = StealthUpgrade ModuleTag_10 TriggeredBy = Upgrade_GLACamouflage End Behavior = SquishCollide ModuleTag_11 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA -SUICIDED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RebelDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED -SUICIDED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RebelDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_16 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SpecialAbility ModuleTag_17 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding UpdateModuleStartsAttack = Yes StartsPaused = Yes InitiateSound = RebelVoiceCapture End Behavior = SpecialAbilityUpdate ModuleTag_18 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding StartAbilityRange = 5.0 UnpackTime = 3000 ; (changing this will scale anim speed) PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) PackTime = 2000 ; (changing this will scale anim speed) DoCaptureFX = Yes AwardXPForTriggering = 12 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_19 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding TriggeredBy = Upgrade_InfantryCaptureBuilding End Behavior = SpecialAbility ModuleTag_20 SpecialPowerTemplate = SpecialAbilityBoobyTrap UpdateModuleStartsAttack = Yes StartsPaused = Yes ; InitiateSound = TankHunterVoiceTNT End Behavior = SpecialAbilityUpdate ModuleTag_21 SpecialPowerTemplate = SpecialAbilityBoobyTrap StartAbilityRange = 5.0 PreparationTime = 0 SpecialObject = BoobyTrap MaxSpecialObjects = 100 SpecialObjectsPersistWhenOwnerDies = Yes SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. ; Not implemented UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_22 SpecialPowerTemplate = SpecialAbilityBoobyTrap TriggeredBy = Upgrade_GLAInfantryRebelBoobyTrapAttack End ; Module 23 commented out because it crashes saved games if the Rebel is Elite. GrantUpgradeCreate is a twitchy module. ; Behavior = GrantUpgradeCreate ModuleTag_23 ; UpgradeToGrant = Upgrade_GLAInfantryRebelBoobyTrapAttack ; ExemptStatus = UNDER_CONSTRUCTION ; End ; I have just pulled my ripcord, and this ain't no parachute! Behavior = SlowDeathBehavior ModuleTag_Death17 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death24 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = Yes ; turned on by upgrade ; DeathTypes = NONE +SUICIDED ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 ; DeathWeapon = Demo_SuicideDynamitePackPlusFire ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag998 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = NONE +SUICIDED ; End Behavior = FireWeaponWhenDeadBehavior ModuleTag998 DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE +SUICIDED End; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 DeathWeapon = Demo_DestroyedWeapon StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL -SUICIDED End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = Demo_GLAInfantryRebelCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;---------------------------------------------------------------------------- Object Demo_GLAInfantryJarmenKell ; *** ART Parameters *** SelectPortrait = SUJermanKell1_L ;NOTE: Asset spelling mistake ButtonImage = SUJermanKell1 UpgradeCameo1 = Upgrade_GLAAPBullets UpgradeCameo2 = Demo_Upgrade_SuicideBomb ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; --- idle DefaultConditionState Model = UIHERO_SKN IdleAnimation = UIHERO_SKL.UIHERO_STA 0 21 IdleAnimation = UIHERO_SKL.UIHERO_IDA IdleAnimation = UIHERO_SKL.UIHERO_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX TransitionKey = TRANS_Stand End ConditionState = REALLYDAMAGED IdleAnimation = UIHERO_SKL.UIHERO_ISTA 0 30 IdleAnimation = UIHERO_SKL.UIHERO_IIDA IdleAnimation = UIHERO_SKL.UIHERO_IIDB AnimationMode = ONCE TransitionKey = TRANS_StandInjured End TransitionState = TRANS_Stand TRANS_StandInjured Animation = UIHERO_SKL.UIHERO_ISTAHIT AnimationMode = ONCE End ; --- attack ConditionState = FIRING_A Animation = UIHERO_SKL.UIHERO_ATA AnimationMode = ONCE TransitionKey = TRANS_FiringA AnimationSpeedFactorRange = 1.5 1.5 End ConditionState = BETWEEN_FIRING_SHOTS_A Animation = UIHERO_SKL.UIHERO_STA AnimationMode = ONCE WaitForStateToFinishIfPossible = TRANS_FiringA End AliasConditionState = RELOADING_A ConditionState = FIRING_A REALLYDAMAGED Animation = UIHERO_SKL.UIHERO_IATA2 AnimationMode = ONCE TransitionKey = TRANS_FiringAInjured AnimationSpeedFactorRange = 1.5 1.5 End ConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED Animation = UIHERO_SKL.UIHERO_IATA2 AnimationMode = MANUAL Flags = START_FRAME_LAST WaitForStateToFinishIfPossible = TRANS_FiringAInjured End AliasConditionState = RELOADING_A REALLYDAMAGED TransitionState = TRANS_FiringA TRANS_FiringAInjured Animation = UIHERO_SKL.UIHERO_IATAHIT AnimationMode = ONCE End ; --- moving ConditionState = MOVING Animation = UIHERO_SKL.UIHERO_RNA2 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING DOCKING AliasConditionState = MOVING DOCKING_BEGINNING AliasConditionState = MOVING DOCKING_ACTIVE ConditionState = MOVING REALLYDAMAGED Animation = UIHERO_SKL.UIHERO_IRNA 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING FIRING_A REALLYDAMAGED AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED AliasConditionState = MOVING RELOADING_A REALLYDAMAGED ; --- cheering ConditionState = SPECIAL_CHEERING Animation = UIHERO_SKL.UIHERO_CHA AnimationMode = LOOP End ConditionState = SPECIAL_CHEERING REALLYDAMAGED Animation = UIHERO_SKL.UIHERO_ICHA AnimationMode = LOOP End ; --- dying ConditionState = DYING Animation = UIHERO_SKL.UIHERO_DTA Animation = UIHERO_SKL.UIHERO_DTB Animation = UIHERO_SKL.UIHERO_IDTA Animation = UIHERO_SKL.UIHERO_IDTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIHERO_SKL.UIHERO_ADTG21 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIHERO_SKL.UIHERO_ADTG22 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIHERO_SKL.UIHERO_ADTG23 AnimationMode = ONCE TransitionKey = None End ; --- falling ConditionState = FREEFALL Animation = UIHERO_SKL.UIHERO_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = UIHERO_SKL.UIHERO_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = UIHERO_SKL.UIHERO_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = UIHERO_SKL.UIHERO_PTD AnimationMode = ONCE End TransitionState = TRANS_Chute TRANS_StandInjured Animation = UIHERO_SKL.UIHERO_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:JarmenKell Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) MaxSimultaneousOfType = 1 WeaponSet Conditions = None Weapon = PRIMARY GLAJarmenKellRifle Weapon = SECONDARY GLAJarmenKellVehiclePilotSniperRifle Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE AutoChooseSources = SECONDARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 200 ShroudClearingRange = 400 Prerequisites Object = Demo_GLABarracks Object = Demo_GLAPalace End BuildCost = 1500 BuildTime = 20.0 ;in seconds ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAInfantryJarmenKellCommandSet ; *** AUDIO Parameters *** VoiceSelect = DemoKellVoiceSelect VoiceMove = JarmenKellVoiceMove VoiceGuard = JarmenKellVoiceMove VoiceAttack = JarmenKellVoiceAttack VoiceFear = JarmenKellVoiceFear SoundStealthOn = StealthOn SoundStealthOff = StealthOff UnitSpecificSounds VoiceCreate = DemoKellVoiceCreate VoiceSnipePilot = JarmenKellVoiceSnipe VoiceGarrison = JarmenKellVoiceGarrison VoiceEnter = JarmenKellVoiceMove VoiceEnterHostile = JarmenKellVoiceMove VoiceGetHealed = JarmenKellVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER STEALTH_GARRISON SCORE HERO CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 200.0 InitialHealth = 200.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL JarmenKellLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End ; Behavior = StealthDetectorUpdate ModuleTag_StealthDetect ; DetectionRate = 750 ;How often to rescan for stealthed things in my sight (msec) ; DetectionRange = 150 ;Enable this for independant balancing! ; CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. ; CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. ; End Behavior = StealthUpdate ModuleTag_06 StealthDelay = 2000 ; msec StealthForbiddenConditions = ATTACKING InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes EnemyDetectionEvaEvent = EnemyJarmenKellDetected OwnDetectionEvaEvent = OwnJarmenKellDetected End Behavior = CommandButtonHuntUpdate ModuleTag_07 ; allows use of command button hunt script with this unit. End Behavior = WeaponBonusUpgrade ModuleTag_08 TriggeredBy = Upgrade_GLAAPBullets End ;Hero units can't be squished! ;Behavior = SquishCollide ModuleTag_09 ; ;nothing ;End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_JarmenKellDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_JarmenKellDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_14 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SlowDeathBehavior ModuleTag_Death15 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death24 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = Yes ; turned on by upgrade ; DeathTypes = NONE +SUICIDED ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 ; DeathWeapon = Demo_SuicideDynamitePackPlusFire ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag998 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = NONE +SUICIDED ; End Behavior = FireWeaponWhenDeadBehavior ModuleTag998 DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE +SUICIDED End; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 DeathWeapon = Demo_DestroyedWeapon StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL -SUICIDED End Behavior = CommandSetUpgrade ModuleTag_17 CommandSet = Demo_GLAInfantryJarmenKellCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Behavior = SpecialAbility ModuleTag_18 SpecialPowerTemplate = Demo_SpecialAbilityKellRemoteCharges UpdateModuleStartsAttack = Yes InitiateSound = DemoKellVoiceAttackDemo End Behavior = SpecialAbilityUpdate ModuleTag_19 SpecialPowerTemplate = Demo_SpecialAbilityKellRemoteCharges StartAbilityRange = 0.0 PreparationTime = 0 SpecialObject = RemoteC4Charge MaxSpecialObjects = 8 SpecialObjectsPersistWhenOwnerDies = No ;Charges are removed instantly when owner dies (nobody can detonate). AlwaysValidateSpecialObjects = Yes ;Coupled with the above setting, this one is necessary for code optimization. SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge PackTime = 0 SkipPackingWithNoTarget = Yes ;When yes, the packing/unpacking will be ignored when detonating charges. FlipOwnerAfterUnpacking = Yes FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability UnpackSound = ColonelBurtonPlantCharge LoseStealthOnTrigger = Yes PreTriggerUnstealthTime = 5000 ; in milliseconds End Behavior = SpecialAbility ModuleTag_20 SpecialPowerTemplate = Demo_SpecialAbilityDemoKellTimedCharges UpdateModuleStartsAttack = Yes InitiateSound = DemoKellVoiceAttackDemo End Behavior = SpecialAbilityUpdate ModuleTag_11 SpecialPowerTemplate = Demo_SpecialAbilityDemoKellTimedCharges StartAbilityRange = 0.0 PreparationTime = 0 SpecialObject = TimedC4Charge MaxSpecialObjects = 10 SpecialObjectsPersistWhenOwnerDies = Yes SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge FlipOwnerAfterUnpacking = Yes FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability UnpackSound = DemoKellVoiceAttackDemo LoseStealthOnTrigger = Yes PreTriggerUnstealthTime = 5000 ; in milliseconds End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;Tunnel Fanatic ;Now called the RPG Trooper Object Demo_GLAInfantryTunnelDefender ; *** ART Parameters *** SelectPortrait = SURPG_L ButtonImage = SURPG UpgradeCameo1 = Upgrade_GLAAPRockets UpgradeCameo2 = Demo_Upgrade_SuicideBomb ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UITunF_SKN IdleAnimation = UITunF_SKL.UITunF_STA 0 20 IdleAnimation = UITunF_SKL.UITunF_IDA IdleAnimation = UITunF_SKL.UITunF_IDB IdleAnimation = UITunF_SKL.UITunF_IDC AnimationMode = ONCE WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = PRIMARY Muzzle WeaponLaunchBone = PRIMARY Muzzle End ConditionState = MOVING Animation = UITunF_SKL.UITunF_WKA 16 Animation = UITunF_SKL.UITunF_WKB 30 Animation = UITunF_SKL.UITunF_WKC 30 Animation = UITunF_SKL.UITunF_RNA 15 Animation = UITunF_SKL.UITunF_RNB 25 AnimationMode = LOOP ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = UITunF_SKL.UITunF_DTA Animation = UITunF_SKL.UITunF_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UITunF_SKL.UITunF_ADTA1 Animation = UITunF_SKL.UITunF_ADTE1 Animation = UITunF_SKL.UITunF_ADTF1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UITunF_SKL.UITunF_ADTA2 Animation = UITunF_SKL.UITunF_ADTE2 Animation = UITunF_SKL.UITunF_ADTF2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UITunF_SKL.UITunF_ADTA3 Animation = UITunF_SKL.UITunF_ADTE3 Animation = UITunF_SKL.UITunF_ADTF3 AnimationMode = ONCE TransitionKey = None End ConditionState = FIRING_A Animation = UITunF_SKL.UITunF_ATA AnimationMode = ONCE TransitionKey = TRANS_START_FIRING End ConditionState = BETWEEN_FIRING_SHOTS_A Animation = UITunF_SKL.UITunF_STA AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_START_FIRING End AliasConditionState = RELOADING_A ConditionState = SPECIAL_CHEERING Animation = UITUNF_SKL.UITUNF_CHA AnimationMode = LOOP End End ; ***DESIGN parameters *** DisplayName = OBJECT:TunnelDefender Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY DemoTunnelDefenderRocketWeapon Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 400 ; Prerequisites ; Object = Demo_GLATunnelNetwork ; End BuildCost = 300 BuildTime = 5.0 ;in seconds ExperienceValue = 20 20 40 60 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAInfantryTunnelDefenderCommandSet ; *** AUDIO Parameters *** VoiceSelect = RPGTrooperVoiceSelect VoiceMove = RPGTrooperVoiceMove VoiceGuard = RPGTrooperVoiceMove VoiceAttack = RPGTrooperVoiceAttack VoiceFear = RPGTrooperVoiceFear UnitSpecificSounds VoiceCreate = RPGTrooperVoiceCreate VoiceGarrison = RPGTrooperVoiceGarrison VoiceEnter = RPGTrooperVoiceMove VoiceEnterHostile = RPGTrooperVoiceMove VoiceGetHealed = RPGTrooperVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL MissileDefenderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = SquishCollide ModuleTag_06 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RPGTrooperDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RPGTrooperDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_12 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SlowDeathBehavior ModuleTag_Death13 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = FireWeaponWhenDeadBehavior ModuleTag998 DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE +SUICIDED End; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 DeathWeapon = Demo_DestroyedWeapon StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL -SUICIDED End Behavior = CommandSetUpgrade ModuleTag_15 CommandSet = Demo_GLAInfantryTunnelDefenderCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;***THESE UNITS ARE NOT SELECTABLE ANYMORE! To kill them, you must target ; the stinger site. If the weapon does particular types of damage, it'll ; kill guys inside first, then the site. Object Demo_GLAInfantryStingerSoldier ; *** ART Parameters *** SelectPortrait = SUStinger_L ButtonImage = SUStinger Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UISmsd_SKN IdleAnimation = UISmsd_SKL.UISmsd_STA 0 45 IdleAnimation = UISmsd_SKL.UISmsd_IDA IdleAnimation = UISmsd_SKL.UISmsd_IDB IdleAnimation = UISmsd_SKL.UISmsd_IDC IdleAnimation = UISmsd_SKL.UISmsd_IDD AnimationMode = ONCE WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = PRIMARY Exhaust WeaponLaunchBone = PRIMARY Muzzle WeaponFireFXBone = SECONDARY Exhaust WeaponLaunchBone = SECONDARY Muzzle WaitForStateToFinishIfPossible = TRANS_START_FIRING End AliasConditionState = BETWEEN_FIRING_SHOTS_A AliasConditionState = BETWEEN_FIRING_SHOTS_B AliasConditionState = RELOADING_A AliasConditionState = RELOADING_B ConditionState = MOVING Animation = UISmsd_SKL.UISmsd_WKB 25 AnimationMode = LOOP End ConditionState = DYING Animation = UISmsd_SKL.UISmsd_DTA Animation = UISmsd_SKL.UISmsd_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish End TransitionState = TRANS_Dying TRANS_Flailing Animation = UISmsd_SKL.UISmsd_ADTF1 Animation = UISmsd_SKL.UISmsd_ADTG21 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UISmsd_SKL.UISmsd_ADTF2 Animation = UISmsd_SKL.UISmsd_ADTG22 AnimationMode = LOOP TransitionKey = TRANS_Flailing WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish End ConditionState = DYING EXPLODED_BOUNCING Animation = UISmsd_SKL.UISmsd_ADTF3 Animation = UISmsd_SKL.UISmsd_ADTG23 AnimationMode = ONCE TransitionKey = None WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish End ConditionState = FIRING_A Animation = UISmsd_SKL.UISmsd_ATA AnimationMode = ONCE TransitionKey = TRANS_START_FIRING End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING RELOADING_A ConditionState = FIRING_B Animation = UISmsd_SKL.UISmsd_ATB AnimationMode = ONCE TransitionKey = TRANS_START_FIRINGB End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = MOVING FIRING_B AliasConditionState = MOVING RELOADING_B ConditionState = SPECIAL_CHEERING Animation = UISMSD_SKL.UISMSD_CHA AnimationMode = LOOP End End ; ***DESIGN parameters *** DisplayName = OBJECT:StingerSoldier Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY StingerMissileWeapon AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT Weapon = SECONDARY StingerMissileWeaponAir PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = StingerSoldierArmor ;Extra protection due to being enclosed by the stinger site. DamageFX = None End VisionRange = 400.0 ShroudClearingRange = 400 Prerequisites Object = Demo_GLABarracks End BuildCost = 100 BuildTime = 1.0 ;in seconds CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAInfantryRebelCommandSet ; *** AUDIO Parameters *** VoiceSelect = StingerSoldierVoiceSelect VoiceMove = StingerSoldierVoiceMove VoiceAttack = StingerSoldierVoiceAttack ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER CLICK_THROUGH SPAWNS_ARE_THE_WEAPONS Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = StealthDetectorUpdate ModuleTag_16 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 200 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes Stealthed ATTACK_BUILDINGS MoodAttackCheckRate = 250 End Locomotor = SET_NORMAL BasicHumanLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = SlavedUpdate ModuleTag_06 ;nothing End ; Behavior = ProneUpdate ModuleTag_07 ; DamageToFramesRatio = 5.0 ; I take 20 damage, I go prone for 100. For this guy, if any of my buds or my building take damage too (I have SlaveUpdate + ProneUpdate) Prone may get cut by itself though ; End Behavior = SquishCollide ModuleTag_08 ;nothing End ;Kris: Cut camo-netting from Demo General ;Behavior = StealthUpdate ModuleTag_09 ; StealthDelay = 2500 ; msec ; StealthForbiddenConditions = ATTACKING USING_ABILITY NO_BLACK_MARKET TAKING_DAMAGE ; MoveThresholdSpeed = 3 ; InnateStealth = No ;Requires upgrade first ; OrderIdleEnemiesToAttackMeUponReveal = Yes ;End ;Behavior = StealthUpgrade ModuleTag_10 ; TriggeredBy = Upgrade_GLACamoNetting ;End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_StingerSoldierDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_StingerSoldierDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_14 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SlowDeathBehavior ModuleTag_Death15 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = FireWeaponWhenDeadBehavior ModuleTag998 DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE +SUICIDED End; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 DeathWeapon = Demo_DestroyedWeapon StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL -SUICIDED End Behavior = CommandSetUpgrade ModuleTag_17 CommandSet = Demo_GLAInfantryRebelCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14 ShadowSizeY = 14 ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Demo_GLAInfantryTerrorist ; *** ART Parameters *** SelectPortrait = SUTerrorist_L ButtonImage = SUTerrorist ;UpgradeCameo1 = Demo_Upgrade_SuicideBomb ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UITRST_SKN IdleAnimation = UITRST_SKL.UITRST_STA 0 25 ;Regular spice animations IdleAnimation = UITRST_SKL.UITRST_IDA IdleAnimation = UITRST_SKL.UITRST_IDB AnimationMode = ONCE TransitionKey = TRANS_Stand End ConditionState = REALLYDAMAGED Animation = UITRST_SKL.UITRST_STA AnimationMode = LOOP TransitionKey = TRANS_Stand End ConditionState = FREEFALL Animation = UITRST_SKL.UITRST_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = UITRST_SKL.UITRST_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING ConditionState = MOVING Animation = UITRST_SKL.UITRST_RNA 15 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING REALLYDAMAGED ConditionState = ATTACKING MOVING Animation = UITRST_SKL.UITRST_RNB 10 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None End AliasConditionState = ATTACKING MOVING REALLYDAMAGED ConditionState = PREATTACK_A Animation = UITRST_SKL.UITRST_ATA AnimationMode = ONCE End AliasConditionState = PREATTACK_A MOVING ConditionState = DYING Animation = UITRST_SKL.UITRST_DTA Animation = UITRST_SKL.UITRST_DTC AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UITRST_SKL.UITRST_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UITRST_SKL.UITRST_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UITRST_SKL.UITRST_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = UITRST_SKL.UITRST_CHA AnimationMode = LOOP End TransitionState = TRANS_Falling TRANS_Chute Animation = UITRST_SKL.UITRST_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = UITRST_SKL.UITRST_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Terrorist Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None ;Kill himself so we can use FireWeaponWhenDead to fire the real weapon -- and use UNRESISTABLE ;damage to do ini logic for type of death to play -- unresistable for success. Weapon = PRIMARY TerroristSuicideWeapon End ArmorSet Conditions = None Armor = DemoGenTerroristArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 200 Prerequisites Object = Demo_GLABarracks End BuildCost = 200 BuildTime = 5.0 ;in seconds CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAInfantryTerroristCommandSet ; *** AUDIO Parameters *** VoiceSelect = TerroristVoiceSelect VoiceMove = TerroristVoiceMove VoiceAttack = TerroristVoiceAttack VoiceFear = TerroristVoiceFear VoiceGuard = TerroristVoiceMove UnitSpecificSounds VoiceGarrison = TerroristVoiceMove VoiceCreate = TerroristVoiceCreate VoiceEnter = TerroristVoiceEnter VoiceEnterHostile = TerroristVoiceEnterHostile VoiceGetHealed = TerroristVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End ExperienceValue = 20 20 20 20 ; Experience point value at each level Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_CBH01 ; allows use of command button hunt script with this unit. End Locomotor = SET_NORMAL FastHumanLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End ;Kris Behavior = ConvertToCarBombCrateCollide ModuleTag_06 RequiredKindOf = VEHICLE ; we only give our bonus to VEHICLEs we collide with ;ForbiddenKindOf = TRANSPORT DOZER ; but not to TRANSPORTs or DOZERs! FXList = FX_MakeCarBombSuccess End Behavior = SquishCollide ModuleTag_07 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristDie End ;POISON_DEATHS POISON_DEATHS POISON_DEATHS POISON_DEATHS Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry_TerroristOnly End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta_TerroristOnly ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death77 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma_TerroristOnly End ;POISON_DEATHS POISON_DEATHS POISON_DEATHS POISON_DEATHS ; I have just pulled my ripcord, and this ain't no parachute! Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +SUICIDED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death08 DeathWeapon = Demo_SuicideDynamitePack StartsActive = Yes ; turned on by upgrade DeathTypes = NONE +SUICIDED End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_14 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ Object Demo_GLAInfantryAngryMobNexus ;**** ART Parameters ************************** SelectPortrait = SUAngryMob_L ButtonImage = SUAngryMob UpgradeCameo1 = Upgrade_GLAArmTheMob ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = None ; Model = AVBomber_B End End ;****DESIGN parameters ************************** DisplayName = OBJECT:AngryMobNexus Side = GLADemolitionGeneral RadarPriority = NOT_ON_RADAR EditorSorting = INFANTRY TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GLAAngryMobNexusHarmlessWeapon Weapon = SECONDARY GLAAngryMobNexusHarmlessWeapon Weapon = TERTIARY GLAAngryMobNexusHarmlessWeapon End ArmorSet Conditions = None Armor = InvulnerableAllArmor DamageFX = None End BuildCost = 800 BuildTime = 15.0 ;in seconds VisionRange = 150 ; it can scout for the spawn ShroudClearingRange = 0 Prerequisites Object = Demo_GLABarracks Object = Demo_GLAPalace End ExperienceValue = 5 5 5 5 ;Experience point value at each level IsTrainable = No CommandSet = Demo_GLAInfantryAngryMobCommandSet; ;**** AUDIO Parameters ***************************** VoiceSelect = AngryMobVoiceSelect VoiceMove = AngryMobVoiceMove VoiceGuard = AngryMobVoiceMove VoiceAttack = AngryMobVoiceAttack SoundMoveStart = NoSound SoundAmbient = AngryMobAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds VoiceCreate = AngryMobVoiceCreate End ;**** ENGINEERING Parameters ****************************** RadarPriority = UNIT KindOf = PRELOAD CAN_ATTACK INFANTRY MOB_NEXUS ATTACK_NEEDS_LINE_OF_SIGHT NO_COLLIDE SELECTABLE SCORE Body = ImmortalBody ModuleTag_02 MaxHealth = 99999.0 InitialHealth = 99999.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL AngryMobNexusLocomotor ;Important! don't make the Nexus any faster! Locomotor = SET_WANDER AngryMobNexusLocomotor ;Important! don't make the Nexus any faster! Locomotor = SET_PANIC AngryMobNexusLocomotor ;Important! don't make the Nexus any faster! ; Locomotor = SET_NORMAL WanderHumanLocomotor ;Important! don't make the Nexus any faster! ; Locomotor = SET_WANDER WanderHumanLocomotor ;Important! don't make the Nexus any faster! ; Locomotor = SET_PANIC WanderHumanLocomotor ;Important! don't make the Nexus any faster! Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = SpawnBehavior ModuleTag_05 SpawnNumber = 10 SpawnReplaceDelay = 30000 ; 30 seconds SpawnTemplateName = GLAInfantryAngryMobPistol01 ; Aladdin SpawnTemplateName = GLAInfantryAngryMobRock02 ; Woman in the Gypsy Costume SpawnTemplateName = GLAInfantryAngryMobMolotov02 ; The Lady with the hot sauce SpawnTemplateName = GLAInfantryAngryMobPistol03 ; Skinny Guy with the Green Beret SpawnTemplateName = GLAInfantryAngryMobRock04 ; Fat guy with the tank top SpawnTemplateName = GLAInfantryAngryMobMolotov02 ; The Lady with the hot sauce SpawnTemplateName = GLAInfantryAngryMobPistol05 ; The robed dude with the Man-Veil ExitByBudding = Yes;! InitialBurst = 5 ; the first set of 5 will not delay OneShot = No AggregateHealth = Yes SlavesHaveFreeWill = No End Behavior = QueueProductionExitUpdate ModuleTag_06 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 0.0 Y: 0.0 Z:0.0 ExitDelay = 5000 ; 5 sec InitialBurst = 5 ; the first set of 5 will not delay End Behavior = DestroyDie ModuleTag_07 DeathTypes = ALL End Geometry = CYLINDER GeometryMajorRadius = 1.0 GeometryMinorRadius = 1.0 GeometryHeight = 1.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ Object Demo_GLAInfantryAngryMobPistol01 ;**** ART Parameters *** Draw = W3DModelDraw DrawTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING PISTOL ;--------------------------------------------------------- DefaultConditionState ;Idle with Pistol Holstered Model = UIMOB01_SKN IdleAnimation = UIMOB01_SKL.UIMOB01_IDA1 0 12 IdleAnimation = UIMOB01_SKL.UIMOB01_IDA2 0 5 IdleAnimation = UIMOB01_SKL.UIMOB01_CHA 0 5 IdleAnimation = UIMOB01_SKL.UIMOB01_STA 0 5 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_A WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX End ; Drawing pistol ConditionState = PREATTACK_A Animation = UIMOB01_SKL.UIMOB01_ATA1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_A FIRING_A AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A ; Firing pistol ConditionState = FIRING_A Animation = UIMOB01_SKL.UIMOB01_ATA1_LP ; looping firing AnimationMode = LOOP TransitionKey = TRANS_FIRING_A End AliasConditionState = BETWEEN_FIRING_SHOTS_A ConditionState = RELOADING_A Animation = UIMOB01_SKL.UIMOB01_ATA1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_A TRANS_STAND_A Animation = UIMOB01_SKL.UIMOB01_ATA1_ED ; end firing AnimationMode = ONCE End ConditionState = MOVING Animation = UIMOB01_SKL.UIMOB01_RNA AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING PREATTACK_A AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_C RELOADING_A AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A ConditionState = DYING Animation = UIMOB01_SKL.UIMOB01_DA1 Animation = UIMOB01_SKL.UIMOB01_DA2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB01_SKL.UIMOB01_CHA AnimationMode = ONCE End ;-------------------------------------------------------- ; TRANSITION FROM PISTOL TO AK47 TransitionState = TRANS_STAND_A TRANS_STAND_AK Animation = UIMOB01_SKL.UIMOB01_TA-D AnimationMode = ONCE End ; WHILE CARRYING AK47 ;--------------------------------------------------------- ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung Model = UIMOB01_SKN IdleAnimation = UIMOB01_SKL.UIMOB01_IDD1 0 6 IdleAnimation = UIMOB01_SKL.UIMOB01_IDD2 0 6 IdleAnimation = UIMOB01_SKL.UIMOB01_CHD 0 6 IdleAnimation = UIMOB01_SKL.UIMOB01_STD AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_AK End ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_RND AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING_AK End ConditionState = DYING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_DD1 Animation = UIMOB01_SKL.UIMOB01_DD2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_CHD AnimationMode = ONCE End ; Drawing AK47 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_ATD1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ; Firing Gun ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_ATD1_LP ; looping firing AnimationMode = LOOP WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX TransitionKey = TRANS_FIRING_AK End AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_ATD1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_AK TRANS_STAND_AK Animation = UIMOB01_SKL.UIMOB01_ATD1_ED ; end firing AnimationMode = ONCE End ; ;Throwing bottle---------------------------------------------------------------- ; ConditionState = PREATTACK_C ; Animation = UIMOB01_SKL.UIMOB01_ATCA_BF ; the wind up ; End ; AliasConditionState = PREATTACK_C FIRING_A ; AliasConditionState = PREATTACK_C RELOADING_A ; AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState = FIRING_C ; Animation = UIMOB01_SKL.UIMOB01_ATCA_AF ; the release and follow-thru ; TransitionKey = TRANS_THROW ; End ; AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState RELOADING_C ; Animation =UIMOB01_SKL.UIMOB01_IDA1 ; WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru ; End ; AliasConditionState = RELOADING_C RELOADING_A ; AliasConditionState = RELOADING_C FIRING_A ; AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A ; TransitionState = TRANSXXX TRANS_THROW ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway gun and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_A ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway bottle and get PISTOL ; End ; TransitionState = TRANSXXXAK TRANS_THROW ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway AK and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_AK ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway bottle and get AK ; End ;-------------------------------------------------------- TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB01_SKL.UIMOB01_A_ADTE1 Animation = UIMOB01_SKL.UIMOB01_D_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB01_SKL.UIMOB01_A_ADTE2 Animation = UIMOB01_SKL.UIMOB01_D_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB01_SKL.UIMOB01_A_ADTE3 Animation = UIMOB01_SKL.UIMOB01_D_ADTE3 AnimationMode = ONCE TransitionKey = None End End ;**** DESIGN parameters *** DisplayName = OBJECT:AngryMob Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GLAAngryMobPistolWeapon Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY GLAAngryMobAK47NoDamageWeapon ; for atttacking in AK-proof conditions Weapon = SECONDARY GLAAngryMobAK47Weapon Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 150 Prerequisites Object = Demo_GLABarracks End BuildCost = 100 BuildTime = 0.0 ExperienceValue = 5 5 5 5 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound ;**** ENGINEERING Parameters *** ;MOB01 RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables Body = ActiveBody BodyTag_01 MaxHealth = 50.0 InitialHealth = 50.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = MobMemberSlavedUpdate ModuleTag_04 MustCatchUpRadius = 40 NoNeedToCatchUpRadius = 15 Squirrelliness = 0.05 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames End Locomotor = SET_NORMAL AngryMobNormalLocomotor Locomotor = SET_WANDER AngryMobWanderLocomotor Locomotor = SET_PANIC AngryMobPanicLocomotor Behavior = PhysicsBehavior BehaviorTag_01 Mass = 5.0 End Behavior = SquishCollide ModuleTag_08 ;nothing End Behavior = WeaponSetUpgrade UpgradeTag_01 TriggeredBy = Upgrade_GLAArmTheMob End ; --- begin Death modules --- Behavior = SlowDeathBehavior DeathTag_01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabMaleDie End Behavior = SlowDeathBehavior DeathTag_02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior DeathTag_03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabMaleDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior DeathTag_04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_GIDie OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death77 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior BehaviorTag_02 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SlowDeathBehavior ModuleTag_Death_06 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death07 DeathWeapon = Demo_SuicideDynamitePack StartsActive = Yes ; turned on by upgrade DeathTypes = NONE +SUICIDED End Geometry = CYLINDER GeometryMajorRadius = 4.0 ; very thin GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ Object Demo_GLAInfantryAngryMobRock02 ;**** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING ROCK ;--------------------------------------------------------- DefaultConditionState Model = UIMOB02_SKN IdleAnimation = UIMOB02_SKL.UIMOB02_IDB1 0 12 IdleAnimation = UIMOB02_SKL.UIMOB02_IDB2 0 5 IdleAnimation = UIMOB02_SKL.UIMOB02_CHB 0 5 IdleAnimation = UIMOB02_SKL.UIMOB02_STB 0 12 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_A ;WeaponFireFXBone = PRIMARY "UIMOB02 R HAND" ;WeaponMuzzleFlash = PRIMARY "UIMOB02 R HAND" WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX End ; Drawing rock ConditionState = PREATTACK_A Animation = UIMOB02_SKL.UIMOB02_ATB2_BF ; wind up AnimationMode = ONCE End AliasConditionState = PREATTACK_A FIRING_A AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A ; throwing rock ConditionState = FIRING_A Animation = UIMOB02_SKL.UIMOB02_ATB1_AF ; throw Animation = UIMOB02_SKL.UIMOB02_ATB2_AF ; throw AnimationMode = ONCE TransitionKey = TRANS_FIRING_A End ConditionState = BETWEEN_FIRING_SHOTS_A Animation = UIMOB02_SKL.UIMOB02_STB AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_FIRING_A End AliasConditionState = RELOADING_A ConditionState = MOVING Animation = UIMOB02_SKL.UIMOB02_RNB AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = UIMOB02_SKL.UIMOB02_DB1 Animation = UIMOB02_SKL.UIMOB02_DB2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB02_SKL.UIMOB02_CHB Flags = RANDOMSTART AnimationMode = LOOP End ;-------------------------------------------------------- ; TRANSITION FROM PISTOL TO AK47 TransitionState = TRANS_STAND_A TRANS_STAND_AK Animation = UIMOB02_SKL.UIMOB02_TB-D AnimationMode = ONCE End ; WHILE CARRYING AK47 ;--------------------------------------------------------- ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung Model = UIMOB02_SKN IdleAnimation = UIMOB02_SKL.UIMOB02_IDD1 0 6 IdleAnimation = UIMOB02_SKL.UIMOB02_IDD2 0 6 IdleAnimation = UIMOB02_SKL.UIMOB02_CHD 0 6 IdleAnimation = UIMOB02_SKL.UIMOB02_STD AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_AK End ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_RND AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING_AK End ConditionState = DYING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_DD1 Animation = UIMOB02_SKL.UIMOB02_DD2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_CHD AnimationMode = ONCE End ; Drawing AK47 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_ATD1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ; Firing Gun ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_ATD1_LP ; looping firing AnimationMode = LOOP WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX TransitionKey = TRANS_FIRING_AK End AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_ATD1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_AK TRANS_STAND_AK Animation = UIMOB02_SKL.UIMOB02_ATD1_ED ; end firing AnimationMode = ONCE End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB02_SKL.UIMOB02_B_ADTA1 Animation = UIMOB02_SKL.UIMOB02_D_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB02_SKL.UIMOB02_B_ADTA2 Animation = UIMOB02_SKL.UIMOB02_D_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB02_SKL.UIMOB02_B_ADTA3 Animation = UIMOB02_SKL.UIMOB02_D_ADTA3 AnimationMode = ONCE TransitionKey = None End End ;**** DESIGN parameters *** DisplayName = OBJECT:AngryMob Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GLAAngryMobRockProjectileWeapon Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY GLAAngryMobAK47NoDamageWeapon ; for atttacking in AK-proof conditions Weapon = SECONDARY GLAAngryMobAK47Weapon Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 150 Prerequisites Object = Demo_GLABarracks End BuildCost = 100 BuildTime = 0.0 ExperienceValue = 5 5 5 5 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound ;**** ENGINEERING Parameters *** ;MOB02 RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables Body = ActiveBody BodyTag_01 MaxHealth = 50.0 InitialHealth = 50.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = MobMemberSlavedUpdate ModuleTag_04 MustCatchUpRadius = 40 NoNeedToCatchUpRadius = 15 Squirrelliness = 0.05 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames End Locomotor = SET_NORMAL AngryMobNormalLocomotor Locomotor = SET_WANDER AngryMobWanderLocomotor Locomotor = SET_PANIC AngryMobPanicLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 5.0 End Behavior = SquishCollide ModuleTag_08 ;nothing End Behavior = WeaponSetUpgrade UpgradeTag_01 TriggeredBy = Upgrade_GLAArmTheMob End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabFemaleDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabFemaleDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_GIDie OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SlowDeathBehavior ModuleTag_Death17 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death18 DeathWeapon = Demo_SuicideDynamitePack StartsActive = Yes ; turned on by upgrade DeathTypes = NONE +SUICIDED End Geometry = CYLINDER GeometryMajorRadius = 4.0 ; very thin GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAInfantryAngryMobPistol03 Demo_GLAInfantryAngryMobPistol01 ;**** ART Parameters *** Draw = W3DModelDraw DrawTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING PISTOL ;--------------------------------------------------------- DefaultConditionState ;Idle with Pistol Holstered Model = UIMOB03_SKN IdleAnimation = UIMOB03_SKL.UIMOB03_IDA1 0 12 IdleAnimation = UIMOB03_SKL.UIMOB03_IDA2 0 5 IdleAnimation = UIMOB03_SKL.UIMOB03_CHA 0 5 IdleAnimation = UIMOB03_SKL.UIMOB03_STA 0 5 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_A WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX WeaponFireFXBone = TERTIARY "UIMOB03 R HAND" End ; Drawing pistol ConditionState = PREATTACK_A Animation = UIMOB03_SKL.UIMOB03_ATA1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_A FIRING_A AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A ; Firing pistol ConditionState = FIRING_A Animation = UIMOB03_SKL.UIMOB03_ATA1_LP ; looping firing AnimationMode = LOOP TransitionKey = TRANS_FIRING_A End AliasConditionState = BETWEEN_FIRING_SHOTS_A ConditionState = RELOADING_A Animation = UIMOB03_SKL.UIMOB03_ATA1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_A TRANS_STAND_A Animation = UIMOB03_SKL.UIMOB03_ATA1_ED ; end firing AnimationMode = ONCE End ConditionState = MOVING Animation = UIMOB03_SKL.UIMOB03_RNA AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING PREATTACK_A AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_C RELOADING_A AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A ConditionState = DYING Animation = UIMOB03_SKL.UIMOB03_DA1 Animation = UIMOB03_SKL.UIMOB03_DA2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB03_SKL.UIMOB03_CHA AnimationMode = ONCE End ;-------------------------------------------------------- ; TRANSITION FROM PISTOL TO AK47 TransitionState = TRANS_STAND_A TRANS_STAND_AK Animation = UIMOB03_SKL.UIMOB03_TA-D AnimationMode = ONCE End ; WHILE CARRYING AK47 ;--------------------------------------------------------- ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung Model = UIMOB03_SKN IdleAnimation = UIMOB03_SKL.UIMOB03_IDD1 0 6 IdleAnimation = UIMOB03_SKL.UIMOB03_IDD2 0 6 IdleAnimation = UIMOB03_SKL.UIMOB03_CHD 0 6 IdleAnimation = UIMOB03_SKL.UIMOB03_STD AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_AK End ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_RND AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING_AK End ConditionState = DYING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_DD1 Animation = UIMOB03_SKL.UIMOB03_DD2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_CHD AnimationMode = ONCE End ; Drawing AK47 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_ATD_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ; Firing Gun ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_ATD_LP ; looping firing AnimationMode = LOOP WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX TransitionKey = TRANS_FIRING_AK End AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_ATD_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_AK TRANS_STAND_AK Animation = UIMOB03_SKL.UIMOB03_ATD_ED ; end firing AnimationMode = ONCE End ; ;Throwing bottle---------------------------------------------------------------- ; ConditionState = PREATTACK_C ; Animation = UIMOB03_SKL.UIMOB03_ATCA_BF ; the wind up ; End ; AliasConditionState = PREATTACK_C FIRING_A ; AliasConditionState = PREATTACK_C RELOADING_A ; AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState = FIRING_C ; Animation = UIMOB03_SKL.UIMOB03_ATCA_AF ; the release and follow-thru ; TransitionKey = TRANS_THROW ; End ; AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState RELOADING_C ; Animation =UIMOB03_SKL.UIMOB03_IDA1 ; WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru ; ; End ; AliasConditionState = RELOADING_C RELOADING_A ; AliasConditionState = RELOADING_C FIRING_A ; AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A ; TransitionState = TRANSXXX TRANS_THROW ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway gun and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_A ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway bottle and get PISTOL ; End ; TransitionState = TRANSXXXAK TRANS_THROW ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway AK and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_AK ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway bottle and get AK ; End ;-------------------------------------------------------- TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB03_SKL.UIMOB03_A_ADTD1 Animation = UIMOB03_SKL.UIMOB03_D_ADTD1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB03_SKL.UIMOB03_A_ADTD2 Animation = UIMOB03_SKL.UIMOB03_D_ADTD2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB03_SKL.UIMOB03_A_ADTD3 Animation = UIMOB03_SKL.UIMOB03_D_ADTD3 AnimationMode = ONCE TransitionKey = None End End Geometry = CYLINDER GeometryMajorRadius = 3.0 ; very thin GeometryMinorRadius = 3.0 ; very thinD GeometryHeight = 12.0 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAInfantryAngryMobRock04 Demo_GLAInfantryAngryMobRock02 ;**** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING ROCK ;--------------------------------------------------------- DefaultConditionState Model = UIMOB04_SKN IdleAnimation = UIMOB04_SKL.UIMOB04_IDB1 0 12 IdleAnimation = UIMOB04_SKL.UIMOB04_IDB2 0 5 IdleAnimation = UIMOB04_SKL.UIMOB04_CHB 0 5 IdleAnimation = UIMOB04_SKL.UIMOB04_STB 0 12 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_A WaitForStateToFinishIfPossible TRANS_FIRING_A ;WeaponFireFXBone = PRIMARY "UIMOB04 R HAND" ;WeaponMuzzleFlash = PRIMARY "UIMOB04 R HAND" WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX End ; Drawing rock ConditionState = PREATTACK_A Animation = UIMOB04_SKL.UIMOB04_ATB2_BF ; wind up AnimationMode = ONCE AnimationSpeedFactorRange 1.0 1.0 End AliasConditionState = PREATTACK_A FIRING_A AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A ; throwing rock ConditionState = FIRING_A Animation = UIMOB04_SKL.UIMOB04_ATB1_AF ; throw Animation = UIMOB04_SKL.UIMOB04_ATB2_AF ; throw AnimationMode = ONCE TransitionKey = TRANS_FIRING_A End ConditionState = BETWEEN_FIRING_SHOTS_A Animation = UIMOB04_SKL.UIMOB04_STB AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_FIRING_A End AliasConditionState = RELOADING_A ConditionState = MOVING Animation = UIMOB04_SKL.UIMOB04_RUN AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = UIMOB04_SKL.UIMOB04_DB1 Animation = UIMOB04_SKL.UIMOB04_DB2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB04_SKL.UIMOB04_CHB Flags = RANDOMSTART AnimationMode = LOOP End ;-------------------------------------------------------- ; TRANSITION FROM PISTOL TO AK47 TransitionState = TRANS_STAND_A TRANS_STAND_AK Animation = UIMOB04_SKL.UIMOB04_TB-D AnimationMode = ONCE End ; WHILE CARRYING AK47 ;--------------------------------------------------------- ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung Model = UIMOB04_SKN IdleAnimation = UIMOB04_SKL.UIMOB04_IDD1 0 6 IdleAnimation = UIMOB04_SKL.UIMOB04_IDD2 0 6 IdleAnimation = UIMOB04_SKL.UIMOB04_CHD 0 6 IdleAnimation = UIMOB04_SKL.UIMOB04_STD AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_AK WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX End ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_RND AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING_AK End ConditionState = DYING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_DD1 Animation = UIMOB04_SKL.UIMOB04_DD2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_CHD AnimationMode = ONCE End ; Drawing AK47 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_ATD1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ; Firing Gun ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_ATD1_LP ; looping firing AnimationMode = LOOP WeaponFireFXBone = PRIMARY MuzzleAK WeaponMuzzleFlash = PRIMARY MuzzleAKFX TransitionKey = TRANS_FIRING_AK End AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_ATD1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_AK TRANS_STAND_AK Animation = UIMOB04_SKL.UIMOB04_ATD1_ED ; end firing AnimationMode = ONCE End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB04_SKL.UIMOB04_B_ADTF1 Animation = UIMOB04_SKL.UIMOB04_D_ADTF1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB04_SKL.UIMOB04_B_ADTF2 Animation = UIMOB04_SKL.UIMOB04_D_ADTF2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB04_SKL.UIMOB04_B_ADTF3 Animation = UIMOB04_SKL.UIMOB04_D_ADTF3 AnimationMode = ONCE TransitionKey = None End End Geometry = CYLINDER GeometryMajorRadius = 5.0 ; kinda thin GeometryMinorRadius = 5.0 ; kinda thinD GeometryHeight = 12.0 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAInfantryAngryMobPistol05 Demo_GLAInfantryAngryMobPistol01 ;**** ART Parameters *** Draw = W3DModelDraw DrawTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING PISTOL ;--------------------------------------------------------- DefaultConditionState ;Idle with Pistol Holstered Model = UIMOB05_SKN IdleAnimation = UIMOB05_SKL.UIMOB05_IDA1 0 12 IdleAnimation = UIMOB05_SKL.UIMOB05_IDA2 0 5 IdleAnimation = UIMOB05_SKL.UIMOB05_CHA 0 5 IdleAnimation = UIMOB05_SKL.UIMOB05_STA 0 5 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_A WeaponFireFXBone = PRIMARY Muzzle01 WeaponMuzzleFlash = PRIMARY Muzzle01 End ; Drawing pistol ConditionState = PREATTACK_A Animation = UIMOB05_SKL.UIMOB05_ATA1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_A FIRING_A AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A ; Firing pistol ConditionState = FIRING_A Animation = UIMOB05_SKL.UIMOB05_ATA1_LP ; looping firing AnimationMode = LOOP TransitionKey = TRANS_FIRING_A End AliasConditionState = BETWEEN_FIRING_SHOTS_A ConditionState = RELOADING_A Animation = UIMOB05_SKL.UIMOB05_ATA1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_A TRANS_STAND_A Animation = UIMOB05_SKL.UIMOB05_ATA1_ED ; end firing AnimationMode = ONCE End ConditionState = MOVING Animation = UIMOB05_SKL.UIMOB05_RNA AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING PREATTACK_A AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_C RELOADING_A AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A ConditionState = DYING Animation = UIMOB05_SKL.UIMOB05_DA1 Animation = UIMOB05_SKL.UIMOB05_DA2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB05_SKL.UIMOB05_CHA AnimationMode = ONCE End ;-------------------------------------------------------- ; TRANSITION FROM PISTOL TO AK47 TransitionState = TRANS_STAND_A TRANS_STAND_AK Animation = UIMOB05_SKL.UIMOB05_TA-D AnimationMode = ONCE End ; WHILE CARRYING AK47 ;--------------------------------------------------------- ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung Model = UIMOB05_SKN IdleAnimation = UIMOB05_SKL.UIMOB05_IDD1 0 6 IdleAnimation = UIMOB05_SKL.UIMOB05_IDD2 0 6 IdleAnimation = UIMOB05_SKL.UIMOB05_CHD 0 6 IdleAnimation = UIMOB05_SKL.UIMOB05_STD AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_AK WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX End ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_RND AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING_AK End ConditionState = DYING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_DD1 Animation = UIMOB05_SKL.UIMOB05_DD2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_CHD AnimationMode = ONCE End ; Drawing AK47 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_ATD1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ; Firing Gun ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_ATD1_LP ; looping firing AnimationMode = LOOP WeaponFireFXBone = PRIMARY MuzzleAK WeaponMuzzleFlash = PRIMARY MuzzleAKFX TransitionKey = TRANS_FIRING_AK End AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_ATD1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_AK TRANS_STAND_AK Animation = UIMOB05_SKL.UIMOB05_ATD1_ED ; end firing AnimationMode = ONCE End ; ;Throwing bottle---------------------------------------------------------------- ; ConditionState = PREATTACK_C ; Animation = UIMOB05_SKL.UIMOB05_ATCA_BF ; the wind up ; End ; AliasConditionState = PREATTACK_C FIRING_A ; AliasConditionState = PREATTACK_C RELOADING_A ; AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState = FIRING_C ; Animation = UIMOB05_SKL.UIMOB05_ATCA_AF ; the release and follow-thru ; TransitionKey = TRANS_THROW ; End ; AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState RELOADING_C ; Animation =UIMOB05_SKL.UIMOB05_IDA1 ; WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru ; End ; AliasConditionState = RELOADING_C RELOADING_A ; AliasConditionState = RELOADING_C FIRING_A ; AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A ; TransitionState = TRANSXXX TRANS_THROW ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway gun and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_A ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway bottle and get PISTOL ; End ; TransitionState = TRANSXXXAK TRANS_THROW ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway AK and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_AK ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway bottle and get AK ; End ;-------------------------------------------------------- TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB05_SKL.UIMOB05_A_ADTA1 Animation = UIMOB05_SKL.UIMOB05_D_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB05_SKL.UIMOB05_A_ADTA2 Animation = UIMOB05_SKL.UIMOB05_D_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB05_SKL.UIMOB05_A_ADTA3 Animation = UIMOB05_SKL.UIMOB05_D_ADTA3 AnimationMode = ONCE TransitionKey = None End End Geometry = CYLINDER GeometryMajorRadius = 3.0 ; very thin GeometryMinorRadius = 3.0 ; very thinD GeometryHeight = 12.0 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ Object Demo_GLAInfantryAngryMobMolotov02 ;**** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING ROCK ;--------------------------------------------------------- DefaultConditionState Model = UIMOB02_SKN IdleAnimation = UIMOB02_SKL.UIMOB02_IDB1 0 12 IdleAnimation = UIMOB02_SKL.UIMOB02_IDB2 0 5 IdleAnimation = UIMOB02_SKL.UIMOB02_CHB 0 5 IdleAnimation = UIMOB02_SKL.UIMOB02_STB 0 12 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_B WeaponFireFXBone = SECONDARY "UIMOB02 R HAND" End ; Drawing rock ConditionState = PREATTACK_B Animation = UIMOB02_SKL.UIMOB02_ATCB_BF ; wind up AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B ; throwing rock ConditionState = FIRING_B Animation = UIMOB02_SKL.UIMOB02_ATCB_AF ; throw AnimationMode = ONCE TransitionKey = TRANS_FIRING_B End ConditionState = BETWEEN_FIRING_SHOTS_B Animation = UIMOB02_SKL.UIMOB02_STB AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_FIRING_B End AliasConditionState = RELOADING_B ConditionState = MOVING Animation = UIMOB02_SKL.UIMOB02_RNB AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = UIMOB02_SKL.UIMOB02_DB1 Animation = UIMOB02_SKL.UIMOB02_DB2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB02_SKL.UIMOB02_CHB Flags = RANDOMSTART AnimationMode = LOOP End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB02_SKL.UIMOB02_B_ADTA1 Animation = UIMOB02_SKL.UIMOB02_D_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB02_SKL.UIMOB02_B_ADTA2 Animation = UIMOB02_SKL.UIMOB02_D_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB02_SKL.UIMOB02_B_ADTA3 Animation = UIMOB02_SKL.UIMOB02_D_ADTA3 AnimationMode = ONCE TransitionKey = None End End ;**** DESIGN parameters *** DisplayName = OBJECT:AngryMob Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GLAAngryMobMolotovCocktailProjectileWeapon ; all she does is throw molotovs Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 150 Prerequisites Object = Demo_GLABarracks End BuildCost = 100 BuildTime = 0.0 ExperienceValue = 5 5 5 5 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound ;**** ENGINEERING Parameters *** ;MOB02 RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables Body = ActiveBody BodyTag_01 MaxHealth = 50.0 InitialHealth = 50.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = MobMemberSlavedUpdate ModuleTag_04 MustCatchUpRadius = 40 NoNeedToCatchUpRadius = 15 Squirrelliness = 0.05 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames End Locomotor = SET_NORMAL AngryMobNormalLocomotor Locomotor = SET_WANDER AngryMobWanderLocomotor Locomotor = SET_PANIC AngryMobPanicLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 5.0 End Behavior = SquishCollide ModuleTag_08 ;nothing End Behavior = WeaponSetUpgrade UpgradeTag_01 TriggeredBy = Upgrade_GLAArmTheMob End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabFemaleDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabFemaleDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_GIDie OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SlowDeathBehavior ModuleTag_Death17 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death18 DeathWeapon = Demo_SuicideDynamitePack StartsActive = Yes ; turned on by upgrade DeathTypes = NONE +SUICIDED End Geometry = CYLINDER GeometryMajorRadius = 4.0 ; very thin GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ Object Demo_GLAInfantryHijacker ; *** ART Parameters *** SelectPortrait = SUHijacker_L ButtonImage = SUHijacker UpgradeCameo1 = Demo_Upgrade_SuicideBomb ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UIHJCK_SKN IdleAnimation = UIHJCK_SKL.UIHJCK_STA 0 25 IdleAnimation = UIHJCK_SKL.UIHJCK_IDA IdleAnimation = UIHJCK_SKL.UIHJCK_IDB AnimationMode = ONCE TransitionKey = TRANS_Stand End AliasConditionState = REALLYDAMAGED ConditionState = MOVING Animation = UIHJCK_SKL.UIHJCK_RUN AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = REALLYDAMAGED MOVING ConditionState = DYING Animation = UIHJCK_SKL.UIHJCK_DTA Animation = UIHJCK_SKL.UIHJCK_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIHJCK_SKL.UIHJCK_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIHJCK_SKL.UIHJCK_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIHJCK_SKL.UIHJCK_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = UIHJCK_SKL.UIHJCK_CHA AnimationMode = LOOP End ConditionState = PARACHUTING Animation = UIHJCK_SKL.UIHJCK_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = UIHJCK_SKL.UIHJCK_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = UIHJCK_SKL.UIHJCK_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Hijacker Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Weapon = PRIMARY None Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 100 ShroudClearingRange = 200 Prerequisites Object = Demo_GLABarracks Object = Demo_GLAPalace Science = SCIENCE_Hijacker End BuildCost = 400 BuildTime = 10.0 ;in seconds ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = No ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAInfantryHijackerCommandSet ; *** AUDIO Parameters *** VoiceSelect = HijackerVoiceSelect VoiceMove = HijackerVoiceMove VoiceGuard = HijackerVoiceMove VoiceAttack = HijackerVoiceAttack VoiceFear = HijackerVoiceFear UnitSpecificSounds VoiceGarrison = HijackerVoiceGarrison VoiceCreate = HijackerVoiceCreate VoiceEnter = HijackerVoiceEnter VoiceEnterHostile = HijackerVoiceEnterHostile VoiceGetHealed = HijackerVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT EnterGuard = Yes HijackGuard = Yes KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE STEALTH_GARRISON ;STEALTH_GARRISON Added per Dustin, 12/14--ML Behavior = StealthUpdate ModuleTag_02 StealthDelay = 500 ; half second delay before stealthy StealthForbiddenConditions = MOVING ; only stealthy while stationary MoveThresholdSpeed = 3 InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Body = ActiveBody ModuleTag_03 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = HijackerUpdate ModuleTag_04 ParachuteName = AmericaParachute End Behavior = AIUpdateInterface ModuleTag_05 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_CBH01 ; allows use of command button hunt script with this unit. End Locomotor = SET_NORMAL JarmenKellLocomotor Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = ConvertToHijackedVehicleCrateCollide ModuleTag_08 RequiredKindOf = VEHICLE ; This is my car now, infidel! End Behavior = SquishCollide ModuleTag_09 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_HijackerDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_HijackerDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_14 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SlowDeathBehavior ModuleTag_Death_17 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = FireWeaponWhenDeadBehavior ModuleTag998 DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE +SUICIDED End; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 DeathWeapon = Demo_DestroyedWeapon StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL -SUICIDED End Behavior = CommandSetUpgrade ModuleTag_19 CommandSet = Demo_GLAInfantryHijackerCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Demo_GLAInfantryWorker ; *** ART Parameters *** SelectPortrait = SUWorker_L ButtonImage = SUWorker UpgradeCameo1 = Upgrade_GLAWorkerShoes UpgradeCameo2 = Demo_Upgrade_SuicideBomb ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UIWRKR_SKN IdleAnimation = UIWRKR_SKL.UIWRKR_STA 0 9 IdleAnimation = UIWRKR_SKL.UIWRKR_IDA AnimationMode = ONCE TransitionKey = TRANS_Stand End ConditionState = MOVING Animation = UIWRKR_SKL.UIWRKR_RNA 16 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Moving ParticleSysBone = None InfantryDustTrails End ; it is legal to be ACTIVELY_CONSTRUCTING and MOVING at the same time, ; since we flip the bit once we get pretty close to the target. but it looks ; funky to do the construction animation while moving. ; so just use the normal move animation in that case. AliasConditionState = ACTIVELY_CONSTRUCTING MOVING ConditionState = ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_MS AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_MetalDetector_Standing End ConditionState = MOVING ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_MSW 50 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_MetalDetector_Moving ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING CARRYING TransitionState = TRANS_Stand TRANS_MetalDetector_Standing ;STANDING -> ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB1;take out standing AnimationMode = ONCE End TransitionState = TRANS_MetalDetector_Standing TRANS_Stand ;ATTACKING -> STANDING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB2;put away standing AnimationMode = ONCE End TransitionState = TRANS_Carry TRANS_MetalDetector_Standing ;CARRYING -> ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB1;take out standing AnimationMode = ONCE End TransitionState = TRANS_MetalDetector_Standing TRANS_Carry ;ATTACKING -> CARRYING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB2;put away standing AnimationMode = ONCE End TransitionState = TRANS_Carry TRANS_MetalDetector_Moving ;CARRYING -> MOVING ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION] AnimationMode = ONCE AnimationSpeedFactorRange = 2.0 2.0 End TransitionState = TRANS_MetalDetector_Moving TRANS_Stand ;MOVING ATTACKING -> STANDING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB2;put away moving AnimationMode = ONCE End TransitionState = TRANS_Stand TRANS_MetalDetector_Moving ;STANDING -> MOVING ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION] AnimationMode = ONCE AnimationSpeedFactorRange = 2.0 2.0 End TransitionState = TRANS_Moving TRANS_MetalDetector_Standing ;MOVING -> ATTACKING [STANDING] ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB1;take out standing AnimationMode = ONCE End TransitionState = TRANS_MetalDetector_Standing TRANS_Moving ;ATTACKING [STANDING] -> MOVING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRC2;put away moving [NEW NON-SKATING ANIMATION] AnimationMode = ONCE AnimationSpeedFactorRange = 2.0 2.0 End TransitionState = TRANS_Moving TRANS_MetalDetector_Moving ;MOVING -> MOVING ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION] AnimationMode = ONCE AnimationSpeedFactorRange = 2.0 2.0 End TransitionState = TRANS_MetalDetector_Moving TRANS_Moving ;MOVING ATTACKING -> MOVING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRC2;put away moving [NEW NON-SKATING ANIMATION] AnimationMode = ONCE AnimationSpeedFactorRange = 2.0 2.0 End ConditionState = MOVING CARRYING ShowSubObject = BOX Animation = UIWRKR_SKL.UIWRKR_CARY 12 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Carry ParticleSysBone = None InfantryDustTrails End ; it is legal to be ACTIVELY_CONSTRUCTING and MOVING at the same time, ; since we flip the bit once we get pretty close to the target. but it looks ; funky to do the construction animation while moving. ; so just use the normal move animation in that case. AliasConditionState = ACTIVELY_CONSTRUCTING MOVING CARRYING ConditionState = CARRYING ShowSubObject = BOX Animation = UIWRKR_SKL.UIWRKR_CARST 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Carry End ConditionState = DYING Animation = UIWRKR_SKL.UIWRKR_DTA AnimationMode = ONCE TransitionKey = TRANS_Dying End AliasConditionState = DYING CARRYING TransitionState = TRANS_Dying TRANS_Flailing Animation = UIWRKR_SKL.UIWRKR_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIWRKR_SKL.UIWRKR_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIWRKR_SKL.UIWRKR_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = UIWRKR_SKL.UIWRKR_CHA AnimationMode = ONCE End ConditionState = ACTIVELY_CONSTRUCTING Animation = UIWRKR_SKL.UIWRKR_BDA AnimationMode = LOOP TransitionKey = TRANS_Constructing End AliasConditionState = ACTIVELY_CONSTRUCTING CARRYING ; -------------------- TransitionState = TRANS_Stand TRANS_Carry ShowSubObject = BOX Animation = UIWRKR_SKL.UIWRKR_PIK AnimationMode = ONCE End TransitionState = TRANS_Carry TRANS_Stand ShowSubObject = BOX Animation = UIWRKR_SKL.UIWRKR_PIK AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End TransitionState = TRANS_Stand TRANS_Constructing Animation = UIWRKR_SKL.UIWRKR_TRA1 AnimationMode = ONCE End TransitionState = TRANS_Constructing TRANS_Stand Animation = UIWRKR_SKL.UIWRKR_TRA2 AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Worker Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY None Weapon = SECONDARY None Weapon = TERTIARY None End WeaponSet Conditions = MINE_CLEARING_DETAIL Weapon = PRIMARY WorkerMineDisarmingWeapon Weapon = SECONDARY None Weapon = TERTIARY None End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY None Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End WeaponSet Conditions = PLAYER_UPGRADE MINE_CLEARING_DETAIL Weapon = PRIMARY WorkerMineDisarmingWeapon Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 100 ShroudClearingRange = 200 ;Prerequisites ; Object = Demo_GLABarracks GLASupplyStash ;commented out, or else you can't build from Con Yard as Dozer. ;End BuildCost = 200 BuildTime = 3.0 ;in seconds CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAWorkerCommandSet ; *** AUDIO Parameters *** VoiceSelect = WorkerVoiceSelect VoiceMove = WorkerVoiceMove VoiceAttack = WorkerVoiceMove VoiceGuard = WorkerVoiceMove VoiceFear = WorkerVoiceFear VoiceTaskComplete = WorkerVoiceBuildComplete UnitSpecificSounds VoiceEnter = WorkerVoiceMoveUpgraded VoiceEnterHostile = WorkerVoiceMoveUpgraded VoiceGarrison = WorkerVoiceGarrison VoiceCreate = WorkerVoiceCreate VoiceSupply = WorkerVoiceSupply VoiceNoBuild = WorkerVoiceBuildNot VoiceRepair = WorkerVoiceRepair VoiceDisarm = WorkerVoiceClearMine VoiceBuildResponse = WorkerVoiceBuild VoiceGetHealed = WorkerVoiceMoveUpgraded VoiceMoveUpgraded = WorkerVoiceMoveUpgraded End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY SALVAGER DOZER HARVESTER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = WorkerAIUpdate ModuleTag_03 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second BoredTime = 5000 ; in milliseconds BoredRange = 150 ; when bored, we look this far away to do something MaxBoxes = 1 UpgradedSupplyBoost = 8 ; gives this much more cash for every box collected SupplyCenterActionDelay = 150 ;400 ; ms for whole thing (one transaction) SupplyWarehouseActionDelay = 150 ;400 ;ms per box (many small transactions) SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan) SuppliesDepletedVoice = WorkerVoiceSuppliesDepleted ; the only "enemies" that workers can acquire are mines, to be disarmed... AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL FastHumanLocomotor Locomotor = SET_NORMAL_UPGRADED WorkerShoesLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = SquishCollide ModuleTag_06 ;nothing End Behavior = LocomotorSetUpgrade ModuleTag_07 TriggeredBy = Upgrade_GLAWorkerShoes End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA -SUICIDED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_WorkerDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED -SUICIDED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_WorkerDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = StealthDetectorUpdate ModuleTag_12 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. ExtraRequiredKindOf = MINE ; we can only detect MINES, not other stealthed things End Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = CommandSetUpgrade ModuleTag_14 TriggeredBy = Upgrade_GLAWorkerFakeCommandSet RemovesUpgrades = Upgrade_GLAWorkerRealCommandSet CommandSet = Demo_GLAWorkerFakeBuildingsCommandSet End Behavior = CommandSetUpgrade ModuleTag_15 TriggeredBy = Upgrade_GLAWorkerRealCommandSet RemovesUpgrades = Upgrade_GLAWorkerFakeCommandSet Upgrade_GLAWorkerRealCommandSet CommandSet = Demo_GLAWorkerCommandSet End Behavior = ProductionUpdate ModuleTag_16 MaxQueueEntries = 1; For the command set switching upgrade End Behavior = SlowDeathBehavior ModuleTag_Death_17 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = FireWeaponWhenDeadBehavior ModuleTag998 DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE +SUICIDED End; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 DeathWeapon = Demo_DestroyedWeapon StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL -SUICIDED End Behavior = WeaponSetUpgrade ModuleTag_19 TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Demo_GLAInfantrySaboteur ; *** ART Parameters *** SelectPortrait = SUSaboteur_L ButtonImage = SUSaboteur ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; this says "we don't use these condition states at all, so completely ; ignore them for purposes of matchmaking"... this is useful to help ; reduce the number of AliasConditionState clauses you must add in ; order to avoid ambiguity in some cases. IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A ; ---- standing DefaultConditionState Model = UISabotr_SKN IdleAnimation = UIWRKR_SKL.UIWRKR_STA 0 9 IdleAnimation = UIWRKR_SKL.UIWRKR_IDA AnimationMode = ONCE TransitionKey = TRANS_Stand End ConditionState = MOVING Animation = UIWRKR_SKL.UIWRKR_RNA 16 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Moving ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = UIWRKR_SKL.UIWRKR_DTA AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIWRKR_SKL.UIWRKR_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIWRKR_SKL.UIWRKR_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIWRKR_SKL.UIWRKR_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = UIWRKR_SKL.UIWRKR_CHA AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Saboteur Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Demo_GLAPalace End BuildCost = 800 BuildTime = 15.0 ;in seconds ExperienceValue = 15 15 30 40 ;Experience point value at each level ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = GLAInfantrySaboteurCommandSet ; *** AUDIO Parameters *** VoiceSelect = SaboteurVoiceSelect VoiceMove = SaboteurVoiceMove VoiceGuard = SaboteurVoiceMove VoiceAttack = SaboteurVoiceAttack SoundStealthOn = StealthOn SoundStealthOff = StealthOff VoiceFear = SaboteurVoiceFear VoiceTaskComplete = NoSound UnitSpecificSounds VoiceCreate = SaboteurVoiceCreate VoiceSubdue = SaboteurVoiceMove VoiceGarrison = SaboteurVoiceMove VoiceEnter = SaboteurVoiceMove VoiceEnterHostile = SaboteurVoiceAttack VoiceGetHealed = SaboteurVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. End Locomotor = SET_NORMAL SaboteurGroundLocomotor SaboteurCliffLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 5.0 End Behavior = StealthUpdate ModuleTag_07 StealthDelay = 2500 ; msec StealthForbiddenConditions = None InnateStealth = Yes ;Requires upgrade first OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = SquishCollide ModuleTag_11 ;nothing End Behavior = SabotagePowerPlantCrateCollide SabotageTag_01 BuildingPickup = Yes SabotagePowerDuration = 30000 End ;Behavior = SabotageSupplyDropzoneCrateCollide SabotageTag_02 ; BuildingPickup = Yes ; StealCashAmount = 800 ;End Behavior = SabotageSuperweaponCrateCollide SabotageTag_03 BuildingPickup = Yes End Behavior = SabotageCommandCenterCrateCollide SabotageTag_04 BuildingPickup = Yes End Behavior = SabotageSupplyCenterCrateCollide SabotageTag_05 BuildingPickup = Yes StealCashAmount = 1000 End Behavior = SabotageMilitaryFactoryCrateCollide SabotageTag_06 BuildingPickup = Yes SabotageDuration = 30000 End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA -SUICIDED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RebelDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RebelDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_16 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End ; Behavior = SpecialAbility ModuleTag_17 ; SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding ; UpdateModuleStartsAttack = Yes ; StartsPaused = Yes ; InitiateSound = RebelVoiceCapture ; End ; Behavior = SpecialAbilityUpdate ModuleTag_18 ; SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding ; StartAbilityRange = 5.0 ; UnpackTime = 3000 ; (changing this will scale anim speed) ; PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) ; PackTime = 2000 ; (changing this will scale anim speed) ; DoCaptureFX = Yes ; AwardXPForTriggering = 12 ; ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. ; End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Demo_GLATankScorpion ; *** ART Parameters *** SelectPortrait = SUScorpion_L ButtonImage = SUScorpion UpgradeCameo1 = Upgrade_GLAScorpionRocket UpgradeCameo2 = Upgrade_GLAAPRockets UpgradeCameo3 = Upgrade_GLAJunkRepair UpgradeCameo4 = Demo_Upgrade_SuicideBomb ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes ProjectileBoneFeedbackEnabledSlots = SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset ; ------------ Normal DefaultConditionState Model = UVLiteTank Turret = Turret ; Logic twist bone is always this, both turrets are subobjects of it, as are both missile racks ; note, order-dependent: we must hide/show Missile AFTER we hide/show MissileRack! ShowSubObject = Turret01 HideSubObject = MissleRack01 MissleRack02 TurretUP01; MissileRack misspelled in the Art WeaponFireFXBone = PRIMARY Muzzle WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponLaunchBone = PRIMARY Muzzle End ConditionState = REALLYDAMAGED Model = UVLiteTank_d End AliasConditionState = RUBBLE ; ------------ With big turret ConditionState = WEAPONSET_CRATEUPGRADE_ONE ; one or two crates is a turret switch ShowSubObject = TurretUP01 HideSubObject = MissleRack01 MissleRack02 Turret01 ; MissileRack misspelled in the Art End AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED Model = UVLiteTank_d ShowSubObject = TurretUP01 HideSubObject = MissleRack01 MissleRack02 Turret01 ; MissileRack misspelled in the Art End AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED ; ---------- With missile ConditionState = WEAPONSET_PLAYER_UPGRADE ShowSubObject = MissleRack01 Turret01 HideSubObject = MissleRack02 TurretUP01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = UVLiteTank_d ShowSubObject = MissleRack01 Turret01 HideSubObject = MissleRack02 TurretUP01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ; ---------- With missile and big turret ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE ShowSubObject = MissleRack01 TurretUP01 HideSubObject = MissleRack02 Turret01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED Model = UVLiteTank_d ShowSubObject = MissleRack01 TurretUP01 HideSubObject = MissleRack02 Turret01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ; ---------- With two missiles and big turret ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO ShowSubObject = MissleRack01 MissleRack02 TurretUP01 HideSubObject = Turret01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED Model = UVLiteTank_d ShowSubObject = MissleRack01 MissleRack02 TurretUP01 HideSubObject = Turret01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:Scorpion Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY ScorpionTankGun Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY ScorpionTankGun Weapon = SECONDARY REDScorpionMissileWeapon Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY ScorpionTankGunPlusOne Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End WeaponSet Conditions = CRATEUPGRADE_ONE PLAYER_UPGRADE Weapon = PRIMARY ScorpionTankGunPlusOne Weapon = SECONDARY REDScorpionMissileWeapon ; No bonus at Plus One Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY ScorpionTankGunPlusOne ; No further bonus at plus two Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End WeaponSet Conditions = CRATEUPGRADE_TWO PLAYER_UPGRADE Weapon = PRIMARY ScorpionTankGunPlusOne ; No further bonus at plus two Weapon = SECONDARY REDScorpionMissileWeaponPlusTwo Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End BuildCost = 650 BuildTime = 7.0 ;in seconds VisionRange = 125 ShroudClearingRange = 300 Prerequisites Object = Demo_GLAArmsDealer End ExperienceValue = 60 60 120 200 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLATankScorpionCommandSet ; *** AUDIO Parameters *** VoiceSelect = ScorpionTankVoiceSelect VoiceMove = ScorpionTankVoiceMove VoiceAttack = ScorpionTankVoiceAttack SoundMoveStart = ScorpionTankMoveStart SoundMoveStartDamaged = ScorpionTankMoveStart VoiceGuard = ScorpionTankVoiceMove UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = ScorpionTankVoiceCreate ;TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop VoiceEnter = ScorpionTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER WEAPON_SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 370.0 InitialHealth = 370.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 740 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 100 RecenterTime = 5000 ; how long to wait during idle before recentering ControlledWeaponSlots = PRIMARY SECONDARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL ScorpionLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = AutoHealBehavior ModuleTag_05 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_06 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_ScorpionTankDeathEffect FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = WeaponSetUpgrade ModuleTag_07 TriggeredBy = Upgrade_GLAScorpionRocket End Behavior = DestroyDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_12 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_13 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = SlowDeathBehavior ModuleTag_Death17 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = FireWeaponWhenDeadBehavior ModuleTag998 DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE +SUICIDED End; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 DeathWeapon = Demo_DestroyedWeapon StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL -SUICIDED End Behavior = CommandSetUpgrade ModuleTag_19 CommandSet = Demo_GLATankScorpionCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 9.0 GeometryHeight = 10.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;GLA Rocket Buggy Object Demo_GLAVehicleRocketBuggy ; *** ART Parameters *** SelectPortrait = SURocketBuggy_L ButtonImage = SURocketBuggy UpgradeCameo1 = Upgrade_GLABuggyAmmo UpgradeCameo2 = Upgrade_GLAAPRockets UpgradeCameo3 = Upgrade_GLAJunkRepair UpgradeCameo4 = Demo_Upgrade_SuicideBomb ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UVRockBug Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = REALLYDAMAGED Model = UVRockBug_D Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = RUBBLE Model = UVRockBug_D Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = WEAPONSET_PLAYER_UPGRADE Model = UVRockBug Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB End ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = UVRockBug_D Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB End ConditionState = WEAPONSET_PLAYER_UPGRADE RUBBLE Model = UVRockBug_D Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB End TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:RocketBuggy Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY BuggyRocketREDWeapon Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY BuggyRocketWeaponUpgraded Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End BuildCost = 1000 BuildTime = 10.0 ;in seconds VisionRange = 180 ShroudClearingRange = 300 Prerequisites Object = Demo_GLAArmsDealer Object = Demo_GLAPalace End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAVehicleRocketBuggyCommandSet ; *** AUDIO Parameters *** VoiceSelect = RocketBuggyVoiceSelect VoiceMove = RocketBuggyVoiceMove VoiceAttack = RocketBuggyVoiceAttack SoundMoveStart = RocketBuggyMoveStart SoundMoveStartDamaged = RocketBuggyMoveStart VoiceGuard = RocketBuggyVoiceMove UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = RocketBuggyVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceCrush = RocketBuggyVoiceCrush VoiceEnter = RocketBuggyVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 120 InitialHealth = 120 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 240 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 90 ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL RocketBuggyLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End ; The pop up AirDeath Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 5 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = FINAL OCL_RocketBuggyAirDeathStart End Behavior = AutoHealBehavior ModuleTag_08 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = WeaponSetUpgrade ModuleTag_09 TriggeredBy = Upgrade_GLABuggyAmmo End Behavior = DestroyDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_RocketBuggy_CrushEffect End Behavior = CreateCrateDie ModuleTag_14 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_15 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = SlowDeathBehavior ModuleTag_Death17 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = FireWeaponWhenDeadBehavior ModuleTag998 DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE +SUICIDED End; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 DeathWeapon = Demo_DestroyedWeapon StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL -SUICIDED End Behavior = CommandSetUpgrade ModuleTag_19 CommandSet = Demo_GLAVehicleRocketBuggyCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = BOX GeometryMajorRadius = 13.0 GeometryMinorRadius = 9.0 GeometryHeight = 7.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;GLA Combat Bike Object Demo_GLAVehicleCombatBike ; *** ART Parameters *** SelectPortrait = SUComBike_L ButtonImage = SUComBike_L UpgradeCameo1 = Upgrade_GLAJunkRepair UpgradeCameo2 = Demo_Upgrade_SuicideBomb ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ;Normal Bike ;------------------------------ DefaultConditionState Model = UVComBike WeaponFireFXBone = PRIMARY Muzzle_B WeaponLaunchBone = PRIMARY RocketFX03 WeaponMuzzleFlash = PRIMARY MuzzleFX_B ParticleSysBone = SMOKE CombatBikeSmokeLight HideSubObject = BOMBBIKE ; Hide from all states except terrorist (rider 5) End AliasConditionState RIDER1 AliasConditionState RIDER1 MOVING AliasConditionState RIDER6 AliasConditionState RIDER6 MOVING AliasConditionState RIDER7 AliasConditionState RIDER7 MOVING ConditionState = REALLYDAMAGED Model = UVComBike_d End AliasConditionState RIDER1 REALLYDAMAGED AliasConditionState RIDER1 MOVING REALLYDAMAGED AliasConditionState RIDER6 REALLYDAMAGED AliasConditionState RIDER6 MOVING REALLYDAMAGED AliasConditionState RIDER7 REALLYDAMAGED AliasConditionState RIDER7 MOVING REALLYDAMAGED ConditionState = TOPPLED Model = UVComBike_F Animation = UVComBike_F.UVComBike_F AnimationMode = ONCE End ConditionState = TOPPLED REALLYDAMAGED Model = UVComBike_dF Animation = UVComBike_DF.UVComBike_DF AnimationMode = ONCE End ConditionState = RIDER1 MOVING CENTER_TO_LEFT Model = UVComBike_A1 Animation = UVComBike_A1.UVComBike_A1 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING CENTER_TO_LEFT AliasConditionState RIDER7 MOVING CENTER_TO_LEFT ConditionState = RIDER1 MOVING CENTER_TO_LEFT REALLYDAMAGED Model = UVComBike_A1d Animation = UVComBike_A1D.UVComBike_A1D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING CENTER_TO_LEFT REALLYDAMAGED AliasConditionState RIDER7 MOVING CENTER_TO_LEFT REALLYDAMAGED ConditionState = RIDER1 MOVING LEFT_TO_CENTER Model = UVComBike_A1 Animation = UVComBike_A1.UVComBike_A1 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING LEFT_TO_CENTER AliasConditionState RIDER7 MOVING LEFT_TO_CENTER ConditionState = RIDER1 MOVING LEFT_TO_CENTER REALLYDAMAGED Model = UVComBike_A1d Animation = UVComBike_A1D.UVComBike_A1D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING LEFT_TO_CENTER REALLYDAMAGED AliasConditionState RIDER7 MOVING LEFT_TO_CENTER REALLYDAMAGED ConditionState = RIDER1 MOVING CENTER_TO_RIGHT Model = UVComBike_A2 Animation = UVComBike_A2.UVComBike_A2 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING CENTER_TO_RIGHT AliasConditionState RIDER7 MOVING CENTER_TO_RIGHT ConditionState = RIDER1 MOVING CENTER_TO_RIGHT REALLYDAMAGED Model = UVComBike_A2d Animation = UVComBike_A2D.UVComBike_A2D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING CENTER_TO_RIGHT REALLYDAMAGED AliasConditionState RIDER7 MOVING CENTER_TO_RIGHT REALLYDAMAGED ConditionState = RIDER1 MOVING RIGHT_TO_CENTER Model = UVComBike_A2 Animation = UVComBike_A2.UVComBike_A2 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING RIGHT_TO_CENTER AliasConditionState RIDER7 MOVING RIGHT_TO_CENTER ConditionState = RIDER1 MOVING RIGHT_TO_CENTER REALLYDAMAGED Model = UVComBike_A2d Animation = UVComBike_A2D.UVComBike_A2D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING RIGHT_TO_CENTER REALLYDAMAGED AliasConditionState RIDER7 MOVING RIGHT_TO_CENTER REALLYDAMAGED ;Terror Bike ;------------------------------ ConditionState RIDER5 Model = UVComBike WeaponFireFXBone = PRIMARY Muzzle_B WeaponLaunchBone = PRIMARY RocketFX03 WeaponMuzzleFlash = PRIMARY MuzzleFX_B ParticleSysBone = SMOKE CombatBikeSmokeLight ShowSubObject = BOMBBIKE End AliasConditionState RIDER5 MOVING ConditionState = REALLYDAMAGED RIDER5 Model = UVComBike_d ShowSubObject = BOMBBIKE End AliasConditionState RIDER5 MOVING REALLYDAMAGED ConditionState = TOPPLED RIDER5 Model = UVComBike_F Animation = UVComBike_F.UVComBike_F AnimationMode = ONCE ShowSubObject = BOMBBIKE End ConditionState = TOPPLED REALLYDAMAGED RIDER5 Model = UVComBike_dF Animation = UVComBike_DF.UVComBike_DF AnimationMode = ONCE ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING CENTER_TO_LEFT Model = UVComBike_A1 Animation = UVComBike_A1.UVComBike_A1 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING CENTER_TO_LEFT REALLYDAMAGED Model = UVComBike_A1d Animation = UVComBike_A1D.UVComBike_A1D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING LEFT_TO_CENTER Model = UVComBike_A1 Animation = UVComBike_A1.UVComBike_A1 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING LEFT_TO_CENTER REALLYDAMAGED Model = UVComBike_A1d Animation = UVComBike_A1D.UVComBike_A1D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING CENTER_TO_RIGHT Model = UVComBike_A2 Animation = UVComBike_A2.UVComBike_A2 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING CENTER_TO_RIGHT REALLYDAMAGED Model = UVComBike_A2d Animation = UVComBike_A2D.UVComBike_A2D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING RIGHT_TO_CENTER Model = UVComBike_A2 Animation = UVComBike_A2.UVComBike_A2 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING RIGHT_TO_CENTER REALLYDAMAGED Model = UVComBike_A2d Animation = UVComBike_A2D.UVComBike_A2D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ;Gun Bike ;------------------------------ ConditionState = RIDER2 Model = UVComBikeG End AliasConditionState RIDER2 MOVING AliasConditionState RIDER4 AliasConditionState RIDER4 MOVING ConditionState = RIDER2 REALLYDAMAGED Model = UVComBikeG_d End AliasConditionState RIDER2 MOVING REALLYDAMAGED AliasConditionState RIDER4 REALLYDAMAGED AliasConditionState RIDER4 MOVING REALLYDAMAGED ConditionState = RIDER2 MOVING CENTER_TO_LEFT Model = UVComBikeG Animation = UVComBikeG_A1.UVComBikeG_A1 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING CENTER_TO_LEFT ConditionState = RIDER2 MOVING CENTER_TO_LEFT REALLYDAMAGED Model = UVComBikeG_d Animation = UVComBikeG_A1.UVComBikeG_A1 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING CENTER_TO_LEFT REALLYDAMAGED ConditionState = RIDER2 MOVING LEFT_TO_CENTER Model = UVComBikeG Animation = UVComBikeG_A1.UVComBikeG_A1 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING LEFT_TO_CENTER ConditionState = RIDER2 MOVING LEFT_TO_CENTER REALLYDAMAGED Model = UVComBikeG_d Animation = UVComBikeG_A1.UVComBikeG_A1 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING LEFT_TO_CENTER REALLYDAMAGED ConditionState = RIDER2 MOVING CENTER_TO_RIGHT Model = UVComBikeG Animation = UVComBikeG_A2.UVComBikeG_A2 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING CENTER_TO_RIGHT ConditionState = RIDER2 MOVING CENTER_TO_RIGHT REALLYDAMAGED Model = UVComBikeG_d Animation = UVComBikeG_A2.UVComBikeG_A2 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING CENTER_TO_RIGHT REALLYDAMAGED ConditionState = RIDER2 MOVING RIGHT_TO_CENTER Model = UVComBikeG Animation = UVComBikeG_A2.UVComBikeG_A2 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING RIGHT_TO_CENTER ConditionState = RIDER2 MOVING RIGHT_TO_CENTER REALLYDAMAGED Model = UVComBikeG_d Animation = UVComBikeG_A2.UVComBikeG_A2 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING RIGHT_TO_CENTER REALLYDAMAGED ;Missile Bike ;------------------------------ ConditionState = RIDER3 Model = UVComBikeTN End AliasConditionState RIDER3 MOVING ConditionState = RIDER3 REALLYDAMAGED Model = UVComBikeTN_d End AliasConditionState RIDER3 MOVING REALLYDAMAGED ConditionState = RIDER3 MOVING CENTER_TO_LEFT Model = UVComBikeTN_A1 Animation = UVComBikeTN_A1.UVComBikeTN_A1 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING CENTER_TO_LEFT REALLYDAMAGED Model = UVComBikeTN_A1d Animation = UVComBikeTN_A1D.UVComBikeTN_A1D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING LEFT_TO_CENTER Model = UVComBikeTN_A1 Animation = UVComBikeTN_A1.UVComBikeTN_A1 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING LEFT_TO_CENTER REALLYDAMAGED Model = UVComBikeTN_A1d Animation = UVComBikeTN_A1D.UVComBikeTN_A1D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING CENTER_TO_RIGHT Model = UVComBikeTN_A2 Animation = UVComBikeTN_A2D.UVComBikeTN_A2D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING CENTER_TO_RIGHT REALLYDAMAGED Model = UVComBikeTN_A2d Animation = UVComBikeTN_A2D.UVComBikeTN_A2D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING RIGHT_TO_CENTER Model = UVComBikeTN_A2 Animation = UVComBikeTN_A2.UVComBikeTN_A2 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING RIGHT_TO_CENTER REALLYDAMAGED Model = UVComBikeTN_A2d Animation = UVComBikeTN_A2D.UVComBikeTN_A2D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End TrackMarks = EXTireTrack03.tga Dust = CombatBikeDust DirtSpray = CombatBikeDirtSpray PowerslideSpray = CombatBikeDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 LeftRearTireBone = Tire00 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End Draw = W3DModelDraw ModuleTag_Rider01 OkToChangeModelColor = Yes DefaultConditionState ;************************************************** ;*** Must have a default model in order to see ;*** house color!!! ;************************************************** Model = UIWrkr_SKN ;WeaponFireFXBone = PRIMARY Muzzle ;WeaponLaunchBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX End AliasConditionState MOVING ;Worker animations ;----------------------- ConditionState = RIDER1 Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER1 MOVING Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER1 MOVING CENTER_TO_LEFT Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER1 MOVING LEFT_TO_CENTER Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER1 MOVING CENTER_TO_RIGHT Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER1 MOVING RIGHT_TO_CENTER Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ;Rebel animations ;----------------------- ConditionState = RIDER2 Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER2 MOVING Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER2 MOVING CENTER_TO_LEFT Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER2 MOVING LEFT_TO_CENTER Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER2 MOVING CENTER_TO_RIGHT Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER2 MOVING RIGHT_TO_CENTER Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ;RPG Trooper animations ;----------------------- ConditionState = RIDER3 Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER3 MOVING Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER3 MOVING CENTER_TO_LEFT Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER3 MOVING LEFT_TO_CENTER Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER3 MOVING CENTER_TO_RIGHT Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER3 MOVING RIGHT_TO_CENTER Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ;Jarmen Kell animations ;----------------------- ConditionState = RIDER4 Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER4 MOVING Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER4 MOVING CENTER_TO_LEFT Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER4 MOVING LEFT_TO_CENTER Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER4 MOVING CENTER_TO_RIGHT Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER4 MOVING RIGHT_TO_CENTER Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ;Terrorist animations ;----------------------- ConditionState = RIDER5 Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A5 AnimationMode = LOOP End ConditionState = RIDER5 MOVING Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A4 AnimationMode = LOOP End ConditionState = RIDER5 MOVING CENTER_TO_LEFT Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A1 AnimationMode = ONCE End ConditionState = RIDER5 MOVING LEFT_TO_CENTER Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER5 MOVING CENTER_TO_RIGHT Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A2 AnimationMode = ONCE End ConditionState = RIDER5 MOVING RIGHT_TO_CENTER Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A2 AnimationMode = ONCE_BACKWARDS End ;Hijacker animations ;----------------------- ConditionState = RIDER6 Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER6 MOVING Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER6 MOVING CENTER_TO_LEFT Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER6 MOVING LEFT_TO_CENTER Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER6 MOVING CENTER_TO_RIGHT Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER6 MOVING RIGHT_TO_CENTER Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ;Saboteur animations ;----------------------- ConditionState = RIDER7 Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER7 MOVING Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER7 MOVING CENTER_TO_LEFT Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER7 MOVING LEFT_TO_CENTER Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER7 MOVING CENTER_TO_RIGHT Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER7 MOVING RIGHT_TO_CENTER Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ConditionState = TOPPLED Model = None End AliasConditionState TOPPLED MOVING End ; ***DESIGN parameters *** DisplayName = OBJECT:CombatBike Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY NONE End WeaponSet Conditions = WEAPON_RIDER2 Weapon = PRIMARY GLARebelBikerMachineGun End WeaponSet Conditions = WEAPON_RIDER3 Weapon = PRIMARY DEMO_TunnelDefenderBikerRocketWeapon End WeaponSet Conditions = WEAPON_RIDER4 Weapon = PRIMARY GLABikerKellSniperRifle Weapon = SECONDARY GLAJarmenKellVehiclePilotSniperRifle AutoChooseSources = SECONDARY NONE End WeaponSet ;Kill himself so we can use FireWeaponWhenDead to fire the real weapon -- and use UNRESISTABLE ;damage to do ini logic for type of death to play -- unresistable for success. Conditions = WEAPON_RIDER5 Weapon = PRIMARY TerroristSuicideWeapon End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End BuildCost = 550 BuildTime = 5.0 ;in seconds VisionRange = 180 ShroudClearingRange = 300 Prerequisites Object = Demo_GLAArmsDealer End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience ;CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAVehicleCombatBikeDefaultCommandSet ; *** AUDIO Parameters *** VoiceSelect = CombatCycleVoiceSelect VoiceMove = CombatCycleVoiceMove VoiceAttack = CombatCycleVoiceAttack SoundMoveStart = CombatBikeMoveStart SoundMoveStartDamaged = CombatBikeMoveStart VoiceGuard = CombatCycleVoiceMove SoundEnter = CombatCycleSwitchRider UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = CombatCycleVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = RocketBuggyLand TruckPowerslideSound = CombatBikeMoveStart VoiceCrush = CombatCycleVoiceMove VoiceEnter = CombatCycleVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE CLIFF_JUMPER Body = ActiveBody ModuleTag_02 MaxHealth = 100 InitialHealth = 100 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 0 ; turn rate, in degrees per sec NaturalTurretAngle = 0 ControlledWeaponSlots = PRIMARY SECONDARY End AutoAcquireEnemiesWhenIdle = No End Locomotor = SET_NORMAL CombatBikeGroundLocomotor CombatBikeCliffLocomotor Locomotor = SET_SLUGGISH CombatBikeTerroristGroundLocomotor CombatBikeTerroristCliffLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 15.0 End Behavior = SlowDeathBehavior DeathTag_04 ExemptStatus = STATUS_RIDER1 STATUS_RIDER2 STATUS_RIDER3 STATUS_RIDER4 STATUS_RIDER5 STATUS_RIDER6 STATUS_RIDER7 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_DEMOBuggyNewDeathExplosion OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_05 RequiredStatus = STATUS_RIDER1 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = INITIAL OCL_WorkerFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_06 RequiredStatus = STATUS_RIDER2 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_DEMOBuggyNewDeathExplosion OCL = INITIAL OCL_RebelFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_07 RequiredStatus = STATUS_RIDER3 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_DEMOBuggyNewDeathExplosion OCL = INITIAL OCL_TunnelDefenderFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_08 RequiredStatus = STATUS_RIDER4 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_DEMOBuggyNewDeathExplosion OCL = INITIAL OCL_JarmenKellFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_09 RequiredStatus = STATUS_RIDER5 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_DEMOBuggyNewDeathExplosion OCL = INITIAL OCL_TerroristFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_10 RequiredStatus = STATUS_RIDER6 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_DEMOBuggyNewDeathExplosion OCL = INITIAL OCL_HijackerFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = AutoHealBehavior ModuleTag_08 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = WeaponSetUpgrade ModuleTag_09 TriggeredBy = Upgrade_GLABuggyAmmo End ;Create the hulk after the toppling is complete (not killed until topple anim finished). Behavior = CreateObjectDie ModuleTag_10 DeathTypes = NONE +TOPPLED CreationList = OCL_CombatBike_ToppledHulk End Behavior = DestroyDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED +TOPPLED End ; A crushing defeat Behavior = FXListDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_RocketBuggy_CrushEffect End Behavior = CreateCrateDie ModuleTag_14 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_15 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = RiderChangeContain ModuleTag_16 ;A list of each valid rider that is allowed to ride this object. Each rider is ;assigned a modelcondition state, a weaponset flag, an object status bit, and ;a commandset override. The actual object is hidden inside the container so the ;visible rider is fluff. Also riders are deleted (not killed) when the bike is ;destroyed, so all deaths must be OCLs on the bike. Rider1 = Demo_GLAInfantryWorker RIDER1 WEAPON_RIDER1 STATUS_RIDER1 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL Rider2 = Demo_GLAInfantryRebel RIDER2 WEAPON_RIDER2 STATUS_RIDER2 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL Rider3 = Demo_GLAInfantryTunnelDefender RIDER3 WEAPON_RIDER3 STATUS_RIDER3 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL Rider4 = Demo_GLAInfantryJarmenKell RIDER4 WEAPON_RIDER4 STATUS_RIDER4 GLAVehicleCombatBikeJarmenKellCommandSet SET_NORMAL Rider5 = Demo_GLAInfantryTerrorist RIDER5 WEAPON_RIDER5 STATUS_RIDER5 GLAVehicleCombatBikeDefaultCommandSet SET_SLUGGISH Rider6 = Demo_GLAInfantryHijacker RIDER6 WEAPON_RIDER6 STATUS_RIDER6 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL Rider7 = Demo_GLAInfantrySaboteur RIDER7 WEAPON_RIDER7 STATUS_RIDER7 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL ScuttleDelay = 1500 ScuttleStatus = TOPPLED ;Standard TransportContain stuff Slots = 1 InitialPayload = Demo_GLAInfantryTerrorist 1 ScatterNearbyOnExit = No HealthRegen%PerSec = 0 DamagePercentToUnits = 100% ; This module will Delete the rider on death, but we need to kill him as well so he doesn't pick up the bike's salvage crate. BurnedDeathToUnits = No ; And no Burned death. AllowInsideKindOf = INFANTRY ExitDelay = 250 NumberOfExitPaths = 1 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting End Behavior = AnimationSteeringUpdate ModuleTag_17 MinTransitionTime = 300 End Behavior = StealthUpdate ModuleTag_19 UseRiderStealth = Yes ;StealthDelay = 2000 ; msec ;StealthForbiddenConditions = ATTACKING ;InnateStealth = Yes ;OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End ;Kris: The slowdeath's above handle this case. This was causing a 50% chance ; of the bike lingering after the terrorist bike suicided. ; Behavior = SlowDeathBehavior ModuleTag_Death_22 ; DeathTypes = NONE +SUICIDED +EXPLODED ; SinkDelay = 3000 ; SinkRate = 0.5 ; in Dist/Sec ; DestructionDelay = 8000 ; FX = INITIAL FX_TerroristExplode ; FlingForce = 8 ; FlingForceVariance = 3 ; FlingPitch = 60 ; FlingPitchVariance = 10 ; End ;Terrorist without suicide bomb upgrade Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death18 RequiredStatus = STATUS_RIDER5 DeathWeapon = SuicideBikeBomb StartsActive = Yes DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED ConflictsWith = Demo_Upgrade_SuicideBomb End ;Non-terrorist with suicide bomb upgrade (fire) Behavior = FireWeaponWhenDeadBehavior ModuleTag999 ExemptStatus = STATUS_RIDER5 DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb RequiresAllTriggers = Yes; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA End; ;Non-terrorist with suicide bomb upgrade (no fire) Behavior = FireWeaponWhenDeadBehavior ModuleTag998 ExemptStatus = STATUS_RIDER5 DeathWeapon = Demo_SuicideDynamitePack StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb RequiresAllTriggers = Yes; DeathTypes = NONE +SUICIDED End; ;Terrorist with suicide bomb upgrade (fire) Behavior = FireWeaponWhenDeadBehavior ModuleTag997 RequiredStatus = STATUS_RIDER5 DeathWeapon = Demo_TerroristOnCombatBikeSuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb RequiresAllTriggers = Yes; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA End; ;Terrorist with suicide bomb upgrade (no fire) Behavior = FireWeaponWhenDeadBehavior ModuleTag996 RequiredStatus = STATUS_RIDER5 DeathWeapon = Demo_TerroristOnCombatBikeSuicideDynamitePack StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb RequiresAllTriggers = Yes; DeathTypes = NONE +SUICIDED +POISONED +POISONED_BETA End; Behavior = CommandSetUpgrade ModuleTag_23 CommandSet = Demo_GLAVehicleCombatBikeDefaultCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = BOX GeometryMajorRadius = 11.0 GeometryMinorRadius = 2.5 GeometryHeight = 7.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Demo_GLAVehicleQuadCannon ; *** ART Parameters *** SelectPortrait = SUQuadCannon_L ButtonImage = SUQuadCannon UpgradeCameo1 = Upgrade_GLAAPBullets UpgradeCameo2 = Upgrade_GLAJunkRepair UpgradeCameo3 = Demo_Upgrade_SuicideBomb ;UpgradeCameo4 = XXX ;UpgradeCameo5 = XXX Draw = W3DTankTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UVQuadCann Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY BarrelMS WeaponMuzzleFlash = PRIMARY BarrelFX WeaponRecoilBone = PRIMARY Barrel WeaponFireFXBone = SECONDARY BarrelMS WeaponMuzzleFlash = SECONDARY BarrelFX WeaponRecoilBone = SECONDARY Barrel ShowSubObject = TURRET HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04 ; Since we are showing one of three turrets, we need to then hide the subobject muzzleflash End ConditionState = REALLYDAMAGED Model = UVQuadCann_D Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY BarrelMS WeaponMuzzleFlash = PRIMARY BarrelFX WeaponRecoilBone = PRIMARY Barrel WeaponFireFXBone = SECONDARY BarrelMS WeaponMuzzleFlash = SECONDARY BarrelFX WeaponRecoilBone = SECONDARY Barrel ShowSubObject = TURRET HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04 End ConditionState = RUBBLE Model = UVQuadCann_D Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY BarrelMS WeaponMuzzleFlash = PRIMARY BarrelFX WeaponRecoilBone = PRIMARY Barrel WeaponFireFXBone = SECONDARY BarrelMS WeaponMuzzleFlash = SECONDARY BarrelFX WeaponRecoilBone = SECONDARY Barrel ShowSubObject = TURRET HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE Model = UVQuadCann Turret = TURRETUP01 TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponRecoilBone = PRIMARY BarrelUp01 WeaponFireFXBone = SECONDARY BarrelUp01MS WeaponMuzzleFlash = SECONDARY BarrelUp01FX WeaponRecoilBone = SECONDARY BarrelUp01 ShowSubObject = TURRETUP01 HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED Model = UVQuadCann Turret = TURRETUP01 TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponRecoilBone = PRIMARY BarrelUp01 WeaponFireFXBone = SECONDARY BarrelUp01MS WeaponMuzzleFlash = SECONDARY BarrelUp01FX WeaponRecoilBone = SECONDARY BarrelUp01 ShowSubObject = TURRETUP01 HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE Model = UVQuadCann Turret = TURRETUP01 TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponRecoilBone = PRIMARY BarrelUp01 WeaponFireFXBone = SECONDARY BarrelUp01MS WeaponMuzzleFlash = SECONDARY BarrelUp01FX WeaponRecoilBone = SECONDARY BarrelUp01 ShowSubObject = TURRETUP01 HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO Model = UVQuadCann Turret = TURRETUP02 TurretPitch = TURRETEL02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponRecoilBone = PRIMARY BarrelUp02 WeaponFireFXBone = SECONDARY BarrelUp02MS WeaponMuzzleFlash = SECONDARY BarrelUp02FX WeaponRecoilBone = SECONDARY BarrelUp02 ShowSubObject = TURRETUP02 HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED Model = UVQuadCann_D Turret = TURRETUP02 TurretPitch = TURRETEL02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponRecoilBone = PRIMARY BarrelUp02 WeaponFireFXBone = SECONDARY BarrelUp02MS WeaponMuzzleFlash = SECONDARY BarrelUp02FX WeaponRecoilBone = SECONDARY BarrelUp02 ShowSubObject = TURRETUP02 HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE Model = UVQuadCann_D Turret = TURRETUP02 TurretPitch = TURRETEL02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponRecoilBone = PRIMARY BarrelUp02 WeaponFireFXBone = SECONDARY BarrelUp02MS WeaponMuzzleFlash = SECONDARY BarrelUp02FX WeaponRecoilBone = SECONDARY BarrelUp02 ShowSubObject = TURRETUP02 HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04 End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This unit doesn't powerslide. End ; ***DESIGN parameters *** DisplayName = OBJECT:QuadCannon Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY QuadCannonGun Weapon = SECONDARY QuadCannonGunAir Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY QuadCannonGunUpgradeOne Weapon = SECONDARY QuadCannonGunUpgradeOneAir Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY QuadCannonGunUpgradeTwo Weapon = SECONDARY QuadCannonGunUpgradeTwoAir Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = QuadCannonArmor DamageFX = TankDamageFX End BuildCost = 750 BuildTime = 6.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Demo_GLAArmsDealer End CommandSet = Demo_GLAVehicleQuadCannon ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = QuadCannonVoiceSelect VoiceMove = QuadCannonVoiceMove VoiceAttack = QuadCannonVoiceAttack VoiceAttackAir = QuadCannonVoiceAttackAir SoundMoveStart = QuadCannonMoveStart SoundMoveStartDamaged = QuadCannonMoveStart VoiceGuard = QuadCannonVoiceMove UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = QuadCannonVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = NoSound TruckPowerslideSound = NoSound VoiceSalvage = QuadCannonVoiceSalvage VoiceCrush = QuadCannonVoiceCrush VoiceEnter = QuadCannonVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 440 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 360 TurretPitchRate = 360 AllowsPitch = Yes ControlledWeaponSlots = PRIMARY SECONDARY End AutoAcquireEnemiesWhenIdle = Yes Stealthed MoodAttackCheckRate = 250 End Locomotor = SET_NORMAL QuadCannonLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 40.0 End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 411 DestructionDelay = 150 DestructionDelayVariance = 250 OCL = FINAL OCL_QuadCannonDeathEffect FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = AutoHealBehavior ModuleTag_06 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = FlammableUpdate ModuleTag_08 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_09 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End ; A crushing defeat Behavior = FXListDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_11 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = WeaponBonusUpgrade ModuleTag_12 TriggeredBy = Upgrade_GLAAPBullets End Behavior = DestroyDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = SlowDeathBehavior ModuleTag_Death_14 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = FireWeaponWhenDeadBehavior ModuleTag998 DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE +SUICIDED End; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 DeathWeapon = Demo_DestroyedWeapon StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL -SUICIDED End Behavior = CommandSetUpgrade ModuleTag_16 CommandSet = Demo_GLAVehicleQuadCannonUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = BOX GeometryMajorRadius = 18.0 GeometryMinorRadius = 7.0 GeometryHeight = 11.5 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;Also called Toxin Tractor && ToxinTractor Object Demo_GLAVehicleToxinTruck ; *** ART Parameters *** SelectPortrait = SUToxinTractor_L ButtonImage = SUToxinTractor UpgradeCameo1 = Upgrade_GLAJunkRepair UpgradeCameo2 = Demo_Upgrade_SuicideBomb ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UVToxinTrk Turret = Turret TurretPitch = TurretEL ShowSubObject = Turret HideSubObject = TurretUP01 TurretUP02 WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA WeaponFireFXBone = SECONDARY Spigot WeaponLaunchBone = SECONDARY Spigot End AliasConditionState WEAPONSET_PLAYER_UPGRADE ConditionState = USING_WEAPON_B Model = UVToxinTrk ParticleSysBone = none ToxinPuddleContinuous END ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE Model = UVToxinTrk ParticleSysBone = none AnthraxPuddleContinuous END ConditionState = REALLYDAMAGED Model = UVToxinTrk_D End AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE AliasConditionState RUBBLE AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE ConditionState = USING_WEAPON_B REALLYDAMAGED Model = UVToxinTrk_D ParticleSysBone = none ToxinPuddleContinuous END ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE Model = UVToxinTrk_D ParticleSysBone = none AnthraxPuddleContinuous END ; -------------- Turret change #1 ConditionState = WEAPONSET_CRATEUPGRADE_ONE Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB End AliasConditionState WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE ConditionState = USING_WEAPON_B WEAPONSET_CRATEUPGRADE_ONE Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB ParticleSysBone = none ToxinPuddleContinuous END ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB ParticleSysBone = none AnthraxPuddleContinuous END ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE Model = UVToxinTrk_D Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB End AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE AliasConditionState RUBBLE WEAPONSET_CRATEUPGRADE_ONE AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE WEAPONSET_CRATEUPGRADE_ONE ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE Model = UVToxinTrk_D Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB ParticleSysBone = none ToxinPuddleContinuous END ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE Model = UVToxinTrk_D Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB ParticleSysBone = none AnthraxPuddleContinuous END ; -------------- Turret change #2 ConditionState = WEAPONSET_CRATEUPGRADE_TWO Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC End AliasConditionState WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO ConditionState = USING_WEAPON_B WEAPONSET_CRATEUPGRADE_TWO Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC ParticleSysBone = none ToxinPuddleContinuous END ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC ParticleSysBone = none AnthraxPuddleContinuous END ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO Model = UVToxinTrk_D Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC End AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO AliasConditionState RUBBLE WEAPONSET_CRATEUPGRADE_TWO AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE WEAPONSET_CRATEUPGRADE_TWO ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO Model = UVToxinTrk_D Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC ParticleSysBone = none ToxinPuddleContinuous END ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO Model = UVToxinTrk_D Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC ParticleSysBone = none AnthraxPuddleContinuous END TrackMarks = EXTireTrack.tga LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray End ; ***DESIGN parameters *** DisplayName = OBJECT:ToxinTruck Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY ToxinTruckGun Weapon = SECONDARY ToxinTruckSprayer Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY ToxinTruckGunUpgraded Weapon = SECONDARY ToxinTruckSprayerUpgraded Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY ToxinTruckGunPlusOne Weapon = SECONDARY ToxinTruckSprayerPlusOne Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = CRATEUPGRADE_ONE PLAYER_UPGRADE Weapon = PRIMARY ToxinTruckGunUpgradedPlusOne Weapon = SECONDARY ToxinTruckSprayerUpgradedPlusOne Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY ToxinTruckGunPlusTwo Weapon = SECONDARY ToxinTruckSprayerPlusTwo Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = CRATEUPGRADE_TWO PLAYER_UPGRADE Weapon = PRIMARY ToxinTruckGunUpgradedPlusTwo Weapon = SECONDARY ToxinTruckSprayerUpgradedPlusTwo Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE AutoChooseSources = SECONDARY NONE ;Special attack only End ArmorSet Conditions = None Armor = ToxinTruckArmor DamageFX = TruckDamageFX End BuildCost = 750 BuildTime = 5.0 ;in seconds VisionRange = 100 ShroudClearingRange = 200 Prerequisites Object = Demo_GLAArmsDealer End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAVehicleToxinTruckCommandSet ; *** AUDIO Parameters *** VoiceSelect = ToxinTractorVoiceSelect VoiceMove = ToxinTractorVoiceMove VoiceGuard = ToxinTractorVoiceMove VoiceAttack = ToxinTractorVoiceAttack SoundMoveStart = ToxinTractorMoveStart SoundMoveStartDamaged = ToxinTractorMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = ToxinTractorVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = NoSound TruckPowerslideSound = NoSound VoiceCrush = ToxinTractorVoiceCrush VoiceEnter = ToxinTractorVoiceMove VoicePoisonLocation = ToxinTractorVoiceAttackContam End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER WEAPON_SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes Turret TurretTurnRate = 180 TurretPitchRate = 180 AllowsPitch = Yes MinPhysicalPitch = -20 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) TurretFireAngleSweep = PRIMARY 8 TurretSweepSpeedModifier = PRIMARY 0.5 ; Sweep slower than you turn ControlledWeaponSlots = PRIMARY End End Locomotor = SET_NORMAL ToxinTruckLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 5 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 0 DestructionDelayVariance = 200 FX = INITIAL FX_ToxinTractorDie OCL = INITIAL OCL_ToxinTractorDeathEffect FX = FINAL FX_ToxinTruckExplosionOneFinal End Behavior = InstantDeathBehavior ModuleTag_06 DeathTypes = NONE +CRUSHED +SPLATTED FX = FX_CarCrush OCL = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_07 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = WeaponSetUpgrade ModuleTag_08 ; the Toxin Tractor gets this upgrade if we either buy the upgrade, ; or if it gets HEROIC status TriggeredBy = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC End Behavior = TransitionDamageFX ModuleTag_11 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = AutoHealBehavior ModuleTag_12 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = FireOCLAfterWeaponCooldownUpdate ModuleTag_13 WeaponSlot = SECONDARY ConflictsWith = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC OCL = OCL_PoisonFieldMedium MinShotsToCreateOCL = 4 OCLLifetimePerSecond = 10000 OCLLifetimeMaxCap = 180000 End Behavior = FireOCLAfterWeaponCooldownUpdate ModuleTag_14 WeaponSlot = SECONDARY TriggeredBy = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC OCL = OCL_PoisonFieldUpgradedMedium MinShotsToCreateOCL = 4 OCLLifetimePerSecond = 10000 OCLLifetimeMaxCap = 180000 End Behavior = FireWeaponWhenDeadBehavior ModuleTag_15 ;These two make the right damage field at death DeathWeapon = ToxinShellWeapon StartsActive = Yes ConflictsWith = Upgrade_GLAAnthraxBeta End Behavior = FireWeaponWhenDeadBehavior ModuleTag_16 DeathWeapon = ToxinShellWeaponUpgraded StartsActive = No TriggeredBy = Upgrade_GLAAnthraxBeta End Behavior = SlowDeathBehavior ModuleTag_Death_14 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = FireWeaponWhenDeadBehavior ModuleTag998 DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE +SUICIDED End; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 DeathWeapon = Demo_DestroyedWeapon StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL -SUICIDED End Behavior = CommandSetUpgrade ModuleTag_17 CommandSet = Demo_GLAVehicleToxinTruckCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = BOX GeometryMajorRadius = 13.0 GeometryMinorRadius = 9.0 GeometryHeight = 10.0 ; set to make the projectile stream look right GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Demo_GLAVehicleBombTruck ; *** ART Parameters *** SelectPortrait = SUBombTruck_L ButtonImage = SUBombTruck UpgradeCameo1 = Upgrade_GLABombTruckHighExplosiveBomb UpgradeCameo2 = Upgrade_GLAJunkRepair UpgradeCameo3 = Demo_Upgrade_SuicideBomb ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes TrackMarks = EXTireTrack.tga DefaultConditionState Model = UVBMBTRUK Animation = UVBMBTRUK.UVBMBTRUK AnimationMode = LOOP ;Display the default bombload -- and the upgrades will handle the rest! HideSubObject = Bombload02 Bombload03 Bombload04 End ConditionState = REALLYDAMAGED Model = UVBMBTRUK_D Animation = UVBMBTRUK_D.UVBMBTRUK_D AnimationMode = LOOP End ConditionState = RUBBLE Model = UVBMBTRUK_D End LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 MidLeftFrontTireBone = Tire03 MidRightFrontTireBone = Tire04 LeftRearTireBone = Tire05 RightRearTireBone = Tire06 TireRotationMultiplier = 0.2 ; this * speed = rotation. Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide End ; ***DESIGN parameters *** DisplayName = OBJECT:BombTruck Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TruckDamageFX End BuildCost = 1000 BuildTime = 15.0 ;in seconds VisionRange = 150 ; Used in attack move targeting ShroudClearingRange = 200 Prerequisites Object = Demo_GLAArmsDealer Object = Demo_GLAPalace End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAVehicleBombTruckCommandSet ; *** AUDIO Parameters *** VoiceSelect = BombTruckVoiceSelect VoiceMove = BombTruckVoiceMove VoiceGuard = BombTruckVoiceMove VoiceAttack = BombTruckVoiceAttack SoundMoveStart = BombTruckMoveStart SoundMoveStartDamaged = BombTruckMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = BombTruckVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = NoSound TruckLandingSound = RocketBuggyLand TruckPowerslideSound = NoSound DisguiseStarted = BombTruckDisguiseStarted DisguiseRevealedSuccess = BombTruckDisguiseRevealedSuccess DisguiseRevealedFailure = BombTruckDisguiseRevealedFailure VoiceEnter = BombTruckVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE DISGUISER CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 220.0 InitialHealth = 220.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 440 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End ExperienceValue = 50 50 50 50 ; Experience point value at each level IsTrainable = No ;Kris: Um, bomb trucks don't gain experience. ;Behavior = VeterancyGainCreate ModuleTag_03 ; StartingLevel = VETERAN ;End Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = No ATTACK_BUILDINGS End Locomotor = SET_NORMAL BombTruckLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 40.0 End Behavior = AutoHealBehavior ModuleTag_06 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = ProductionUpdate ModuleTag_07 ; nothing End Behavior = SlowDeathBehavior ModuleTag_08 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 5 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 0 DestructionDelayVariance = 200 FX = FINAL FX_BuggyNewDeathExplosion OCL = FINAL OCL_BombTruckDeathEffect End ;Behavior = DestroyDie ;nothing ;End ;************************************************************************************************ ;* WHICH BOMB DO WE USE??? ;* We have 2 damage possibilities -- (normal OR high explosive) ;* So part 1 is inflicting the damage itself without creating effects ;* ;* DAMAGE COMBINATIONS (NO EFFECTS): ;* 1) Normal (doesn't have high explosive upgrade) ;* 2) High explosive (has high-explosive upgrade) ;* ;* EFFECT COMBINATIONS (NO DAMAGE): ;* 1) Normal (no upgrades) ;* 2) High explosive (high explosive upgrade) ;************************************************************************************************ ;************************************************************************************************ ;* EXCLUSIVE DAMAGE POSSIBILITY 1 -- Normal explosion (can't have high-explosive upgrade) ;************************************************************************************************ Behavior = FireWeaponWhenDeadBehavior ModuleTag_09 DeathWeapon = Demo_BombTruckDefaultBombDamage StartsActive = Yes ; turned on by upgrade ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb End ;************************************************************************************************ ;* EXCLUSIVE DAMAGE POSSIBILITY 2 -- High explosion (always plays if it has high-explosive upgrade) ;************************************************************************************************ Behavior = FireWeaponWhenDeadBehavior ModuleTag_10 DeathWeapon = Demo_BombTruckHighExplosionBombDamage StartsActive = No ; turned on by upgrade TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb End ;************************************************************************************************ ;* EXCLUSIVE EFFECT COMBINATION 1 - Regular explosion (no upgrades) ;************************************************************************************************ Behavior = FireWeaponWhenDeadBehavior ModuleTag_11 DeathWeapon = Demo_BombTruckDefaultBombEffect StartsActive = Yes ; turned on by upgrade ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb End ;************************************************************************************************ ;* EXCLUSIVE EFFECT COMBINATION 2 - High explosion ;* Requires: High explosive upgrade ;************************************************************************************************ Behavior = FireWeaponWhenDeadBehavior ModuleTag_14 DeathWeapon = Demo_BombTruckHighExplosiveBombEffect StartsActive = No ; turned on by upgrade TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb RequiresAllTriggers = Yes End ;------------------------------------------------------------------- ; Now we get to display the payload based on upgrades!!! ;------------------------------------------------------------------- Behavior = SubObjectsUpgrade ModuleTag_18 ;*** High-explosive bomb load *** TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb ConflictsWith = Upgrade_GLABombTruckBioBomb ShowSubObjects = Bombload03 HideSubObjects = Bombload01 Bombload02 Bombload04 End ;------------------------------------------------------------------- Behavior = SpecialAbility ModuleTag_20 SpecialPowerTemplate = SpecialAbilityDisguiseAsVehicle UpdateModuleStartsAttack = Yes InitiateSound = BombTruckVoiceDisguise End Behavior = SpecialAbilityUpdate ModuleTag_21 SpecialPowerTemplate = SpecialAbilityDisguiseAsVehicle StartAbilityRange = 1000000.0 ApproachRequiresLOS = No End Behavior = StealthUpdate ModuleTag_22 StealthDelay = 1 DisguisesAsTeam = Yes RevealDistanceFromTarget = 100.0f OrderIdleEnemiesToAttackMeUponReveal = Yes DisguiseFX = FX_BombTruckDisguise DisguiseRevealFX = FX_BombTruckDisguiseReveal InnateStealth = Yes DisguiseTransitionTime = 2000 DisguiseRevealTransitionTime = 1000 End ; A crushing defeat Behavior = FXListDie ModuleTag_23 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_24 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_25 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_26 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_28 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = DestroyDie ModuleTag_29 DeathTypes = NONE +CRUSHED +SPLATTED End Geometry = BOX GeometryMajorRadius = 19.0 GeometryMinorRadius = 8.0 GeometryHeight = 11.5 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Demo_GLAVehicleScudLauncher ; *** ART Parameters *** SelectPortrait = SUScudLauncher_L ButtonImage = SUScudLauncher UpgradeCameo1 = Upgrade_GLAJunkRepair UpgradeCameo2 = Demo_Upgrade_SuicideBomb ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ProjectileBoneFeedbackEnabledSlots = PRIMARY SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset DefaultConditionState Model = UVScudLchr Turret = TURRET TurretPitch = TURRETEL ShowSubObject = TURRET HideSubObject = TURRETUP01 TURRETUP02 WeaponLaunchBone = PRIMARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ConditionState = REALLYDAMAGED Model = UVScudLchr_d End AliasConditionState = RUBBLE ConditionState = WEAPONSET_CRATEUPGRADE_ONE Model = UVScudLchr Turret = TURRETUP01 TurretPitch = TURRETEL01 ShowSubObject = TURRETUP01 HideSubObject = TURRET TURRETUP02 WeaponLaunchBone = PRIMARY WeaponB WeaponLaunchBone = SECONDARY WeaponB End ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED Model = UVScudLchr_d Turret = TURRETUP01 TurretPitch = TURRETEL01 ShowSubObject = TURRETUP01 HideSubObject = TURRET TURRETUP02 WeaponLaunchBone = PRIMARY WeaponB WeaponLaunchBone = SECONDARY WeaponB End ConditionState = WEAPONSET_CRATEUPGRADE_TWO Model = UVScudLchr Turret = TURRETUP02 TurretPitch = TURRETEL02 ShowSubObject = TURRETUP02 HideSubObject = TURRET TURRETUP01 WeaponLaunchBone = PRIMARY WeaponC WeaponLaunchBone = SECONDARY WeaponC End ConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED Model = UVScudLchr_d Turret = TURRETUP02 TurretPitch = TURRETEL02 ShowSubObject = TURRETUP02 HideSubObject = TURRET TURRETUP01 WeaponLaunchBone = PRIMARY WeaponC WeaponLaunchBone = SECONDARY WeaponC End TrackMarks = EXTireTrack.tga Dust = ScudLauncherDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire05 LeftRearTireBone = Tire04 RightRearTireBone = Tire08 MidLeftFrontTireBone = Tire02 MidRightFrontTireBone = Tire06 MidLeftRearTireBone = Tire03 MidRightRearTireBone = Tire07 TireRotationMultiplier = 0.2 ; this * speed = rotation. ;PowerslideRotationAddition = 0.0 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:ScudLauncher Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY DEMO_SCUDLauncherGunExplosive Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI AutoChooseSources = TERTIARY None End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY DEMO_SCUDLauncherGunExplosivePlusOne Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI AutoChooseSources = TERTIARY None End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY DEMO_SCUDLauncherGunExplosivePlusTwo Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI AutoChooseSources = TERTIARY None End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End BuildCost = 1200 BuildTime = 15.0 ;in seconds VisionRange = 180 ShroudClearingRange = 300 Prerequisites Object = Demo_GLAArmsDealer Object = Demo_GLAPalace Science = SCIENCE_ScudLauncher End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAVehicleScudLauncherCommandSet ; *** AUDIO Parameters *** VoiceSelect = ScudLauncherVoiceSelect VoiceMove = ScudLauncherVoiceMove VoiceGuard = ScudLauncherVoiceMove VoiceAttack = ScudLauncherVoiceAttack SoundMoveStart = ScudLauncherMoveStart SoundMoveStartDamaged = ScudLauncherMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = ScudLauncherVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = NoSound TruckPowerslideSound = NoSound VoiceCrush = ScudLauncherVoiceCrush VoiceEnter = ScudLauncherVoiceMove VoicePrimaryWeaponMode = ScudLauncherVoiceModeHiEx VoiceSecondaryWeaponMode = ScudLauncherVoiceModeAnthrax End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY CAN_CAST_REFLECTIONS VEHICLE SALVAGER WEAPON_SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 180.0 InitialHealth = 180.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 360 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 60 ; turn rate, in degrees per sec TurretPitchRate = 60 FirePitch = 90 ; Instead of aiming pitchwise at the target, it will aim here AllowsPitch = Yes ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = No NotWhileAttacking End Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. End Locomotor = SET_NORMAL ScudLauncherLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 40.0 End Behavior = AutoHealBehavior ModuleTag_06 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ScudLauncherDamageTransition End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_09 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_SCUDLauncherDeathEffect FX = FINAL FX_ScudLauncherExplosionOneFinal End ; A crushing defeat Behavior = FXListDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_Salvage CrateData = SalvageCrateData End Behavior = CreateObjectDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = DestroyDie ModuleTag_22 DeathTypes = NONE +CRUSHED +SPLATTED End ; Behavior = WeaponSetUpgrade ModuleTag_23 ; TriggeredBy = Upgrade_GLAAnthraxBeta ; End ; ; Behavior = LockWeaponCreate ModuleTag_24 ; SlotToLock = PRIMARY ; Prevents indeterminate state plus two unpickable weapons equaling no attack. ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death24 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = Yes ; turned on by upgrade ; DeathTypes = NONE +SUICIDED ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 ; DeathWeapon = Demo_SuicideDynamitePackPlusFire ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag998 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = NONE +SUICIDED ; End Behavior = FireWeaponWhenDeadBehavior ModuleTag_George DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb End; Behavior = CommandSetUpgrade ModuleTag_26 CommandSet = Demo_GLAVehicleScudLauncherCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 11.5 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ; this unit is never really "built"; building one triggers the random building of ; one of the other chassis. If you want a *specific* chassis, choose it explicitly; ; if you want a chassis at random, specify this. Object Demo_GLAVehicleTechnical ; *** ART Parameters *** SelectPortrait = SUTechnical_L ButtonImage = SUTechnical Draw = W3DModelDraw ModuleTag_01 DefaultConditionState ; give it a model so it'll show up in WB Model = UVTechTrck End End ; set cost and time fields here or else they won't work BuildCost = 600 BuildTime = 5.0 ;in seconds ; Needed to get the Veterancy Overlays on top of the Technical with his build variations. ;------------------------------------------------------------ Behavior = VeterancyGainCreate ModuleTag_03 StartingLevel = VETERAN ScienceRequired = SCIENCE_TechnicalTraining End Side = GLADemolitionGeneral EditorSorting = VEHICLE BuildVariations = Demo_GLAVehicleTechnicalChassisOne Demo_GLAVehicleTechnicalChassisTwo Demo_GLAVehicleTechnicalChassisThree KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE TRANSPORT End ;------------------------------------------------------------------------------ Object Demo_GLAVehicleTechnicalChassisOne ; *** ART Parameters *** SelectPortrait = SUTechnical_L ButtonImage = SUTechnical UpgradeCameo1 = Upgrade_GLAAPBullets UpgradeCameo2 = Upgrade_GLAJunkRepair UpgradeCameo3 = Demo_Upgrade_SuicideBomb ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 ExtraPublicBone = Dum_Turret DefaultConditionState Model = UVTechTrck End ConditionState = REALLYDAMAGED Model = UVTechTrck_d End ConditionState = RUBBLE Model = UVTechTrck_d End OkToChangeModelColor = Yes TrackMarks = EXTireTrack.tga Dust = TechnicalDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes AttachToBoneInAnotherModule = Dum_Turret ; ------------------ basic technical ------------------------ DefaultConditionState Model = UITech_SKN Turret = Dum-TurManMVR TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = MOVING Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End AliasConditionState = TURRET_ROTATE MOVING AliasConditionState = TURRET_ROTATE FIRING_A AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE RELOADING_A AliasConditionState = TURRET_ROTATE MOVING FIRING_A AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE MOVING RELOADING_A ConditionState = FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = BETWEEN_FIRING_SHOTS_A AliasConditionState = RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_ONE IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_TWO IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A End ; ***DESIGN parameters *** DisplayName = OBJECT:Technical Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY TechnicalMachineGunWeapon Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY None End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY TechnicalCannonWeapon Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY None End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY TechnicalRPGWeapon Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY None End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TruckDamageFX End ;update cost and time fields in Object GLAVehicleTechnical, or else they won't work ;BuildCost = 300 ;BuildTime = 5.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Demo_GLAArmsDealer End ExperienceValue = 25 25 50 100 ;Experience point value at each level ExperienceRequired = 0 50 75 150 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAVehicleTechnicalCommandSet ; *** AUDIO Parameters *** VoiceSelect = TechnicalVoiceSelect VoiceMove = TechnicalVoiceMove VoiceGuard = TechnicalVoiceMove VoiceAttack = TechnicalVoiceAttack SoundMoveStart = TechnicalMoveStart SoundMoveStartDamaged = TechnicalMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = TechnicalVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceSalvage = TechnicalVoiceSalvage VoiceCrush = TechnicalVoiceCrush VoiceUnload = TechnicalVoiceUnload VoiceEnter = TechnicalVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE TRANSPORT Behavior = VeterancyGainCreate ModuleTag_03 StartingLevel = VETERAN ScienceRequired = SCIENCE_TechnicalTraining End Body = ActiveBody ModuleTag_04 MaxHealth = 180 InitialHealth = 180 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 360 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_05 Turret TurretTurnRate = 240 ; turn rate, in degrees per sec NaturalTurretAngle = 0 MinIdleScanAngle = 30 ; in degrees off the natural turret angle MaxIdleScanAngle = 60 ; in degrees off the natural turret angle MinIdleScanInterval = 5000 ; in milliseconds MaxIdleScanInterval = 10000 ; in milliseconds ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL TechnicalLocomotor Behavior = PhysicsBehavior ModuleTag_06 Mass = 40.0 End Behavior = AutoHealBehavior ModuleTag_07 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = FlammableUpdate ModuleTag_09 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_10 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = DestroyDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_TechnicalJeep_CrushEffect End Behavior = CreateCrateDie ModuleTag_14 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = SlowDeathBehavior ModuleTag_15 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 500 DestructionDelayVariance = 1500 OCL = INITIAL OCL_TechnicalAirDeathStart FX = INITIAL FX_TechnicalAirDeathGroundPart OCL = FINAL OCL_RocketBuggyAirDeath FX = FINAL FX_RocketBuggyAirDeathAirPart ; This happens in the air End Behavior = TransportContain ModuleTag_16 Slots = 5 AllowInsideKindOf = INFANTRY DamagePercentToUnits = 10% GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting End Behavior = WeaponBonusUpgrade ModuleTag_17 ; Not a full weapon set switch, just a number tweak reflected in a weapon. TriggeredBy = Upgrade_GLAAPBullets End Behavior = SlowDeathBehavior ModuleTag_Death_18 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = FireWeaponWhenDeadBehavior ModuleTag998 DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE +SUICIDED End; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 DeathWeapon = Demo_DestroyedWeapon StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL -SUICIDED End Behavior = CommandSetUpgrade ModuleTag_20 CommandSet = Demo_GLAVehicleTechnicalCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = BOX GeometryMajorRadius = 18.0 GeometryMinorRadius = 9.0 GeometryHeight = 7.5 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAVehicleTechnicalChassisTwo Demo_GLAVehicleTechnicalChassisOne ; *** ART Parameters *** Draw = W3DTruckDraw ModuleTag_01 ExtraPublicBone = Dum_Turret DefaultConditionState Model = UVTechVan End ConditionState = REALLYDAMAGED Model = UVTechVan_d End ConditionState = RUBBLE Model = UVTechVan_d End OkToChangeModelColor = Yes TrackMarks = EXTireTrack.tga Dust = TechnicalDust ;DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes AttachToBoneInAnotherModule = Dum_Turret ; ------------------ basic technical ------------------------ DefaultConditionState Model = UITech_SKN Turret = Dum-TurManMVR TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = MOVING Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End AliasConditionState = TURRET_ROTATE MOVING AliasConditionState = TURRET_ROTATE FIRING_A AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE RELOADING_A AliasConditionState = TURRET_ROTATE MOVING FIRING_A AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE MOVING RELOADING_A ConditionState = FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = BETWEEN_FIRING_SHOTS_A AliasConditionState = RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_ONE IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_TWO IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A End ; Behavior = CreateObjectDie ModuleTag_13 ; DeathTypes = NONE +CRUSHED +SPLATTED ; CreationList = OCL_TechnicalVan_CrushEffect ; End Geometry = BOX GeometryMajorRadius = 16.0 GeometryMinorRadius = 8.0 GeometryHeight = 7.5 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAVehicleTechnicalChassisThree Demo_GLAVehicleTechnicalChassisOne ; *** ART Parameters *** Draw = W3DTruckDraw ModuleTag_01 ExtraPublicBone = Dum_Turret DefaultConditionState Model = UVTechJeep End ConditionState = REALLYDAMAGED Model = UVTechJeep_d End ConditionState = RUBBLE Model = UVTechJeep_d End OkToChangeModelColor = Yes TrackMarks = EXTireTrack.tga Dust = TechnicalDust ;DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes AttachToBoneInAnotherModule = Dum_Turret ; ------------------ basic technical ------------------------ DefaultConditionState Model = UITech_SKN Turret = Dum-TurManMVR TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = MOVING Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End AliasConditionState = TURRET_ROTATE MOVING AliasConditionState = TURRET_ROTATE FIRING_A AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE RELOADING_A AliasConditionState = TURRET_ROTATE MOVING FIRING_A AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE MOVING RELOADING_A ConditionState = FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = BETWEEN_FIRING_SHOTS_A AliasConditionState = RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_ONE IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_TWO IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A End ; Behavior = CreateObjectDie ModuleTag_13 ; DeathTypes = NONE +CRUSHED +SPLATTED ; CreationList = OCL_TechnicalJeep_CrushEffect ; End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 9.0 GeometryHeight = 9.5 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ;The Marauder Tank, for the Warlord General. Object Demo_GLATankMarauder ; *** ART Parameters *** SelectPortrait = SUMarauder_L ButtonImage = SUMarauder UpgradeCameo1 = Upgrade_GLAJunkRepair UpgradeCameo2 = Demo_Upgrade_SuicideBomb ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes ; no crate upgrade ConditionState = NONE Model = UVMarauder Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 TurretUp02 BarrelFX01 ; Since we are showing one of three turrets, we need to then hide the subobject muzzleflash WeaponFireFXBone = PRIMARY BarrelMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY BarrelFX WeaponLaunchBone = PRIMARY BarrelMS End ConditionState = REALLYDAMAGED Model = UVMarauder_d Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 TurretUp02 BarrelFX01 WeaponFireFXBone = PRIMARY BarrelMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY BarrelFX WeaponLaunchBone = PRIMARY BarrelMS End ConditionState = RUBBLE Model = UVMarauder_d Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 TurretUp02 BarrelFX01 WeaponFireFXBone = PRIMARY BarrelMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY BarrelFX WeaponLaunchBone = PRIMARY BarrelMS End ; crate upgrade 1 ConditionState = WEAPONSET_CRATEUPGRADE_ONE Model = UVMarauder Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret TurretUp02 BarrelUp01FX01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponRecoilBone = PRIMARY BarrelUp01 WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponLaunchBone = PRIMARY BarrelUp01MS End ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE Model = UVMarauder_d Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret TurretUp02 BarrelUp01FX01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponRecoilBone = PRIMARY BarrelUp01 WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponLaunchBone = PRIMARY BarrelUp01MS End ConditionState = RUBBLE WEAPONSET_CRATEUPGRADE_ONE Model = UVMarauder_d Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret TurretUp02 BarrelUp01FX01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponRecoilBone = PRIMARY BarrelUp01 WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponLaunchBone = PRIMARY BarrelUp01MS End ; crate upgrade 2 ConditionState = WEAPONSET_CRATEUPGRADE_TWO Model = UVMarauder Turret = TurretUp02 ShowSubObject = TurretUp02 HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponRecoilBone = PRIMARY BarrelUp02 WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponLaunchBone = PRIMARY BarrelUp02MS End ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO Model = UVMarauder_d Turret = TurretUp02 ShowSubObject = TurretUp02 HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponRecoilBone = PRIMARY BarrelUp02 WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponLaunchBone = PRIMARY BarrelUp02MS End ConditionState = RUBBLE WEAPONSET_CRATEUPGRADE_TWO Model = UVMarauder_d Turret = TurretUp02 ShowSubObject = TurretUp02 HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponRecoilBone = PRIMARY BarrelUp02 WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponLaunchBone = PRIMARY BarrelUp02MS End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. End ; ***DESIGN parameters *** DisplayName = OBJECT:Marauder Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY REDMarauderTankGun Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY None End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY REDMarauderTankGunUpgradeOne Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY None End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY REDMarauderTankGunUpgradeTwo Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY None End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End BuildCost = 900 BuildTime = 10.0 ;in seconds VisionRange = 125 ShroudClearingRange = 300 Prerequisites Object = Demo_GLAArmsDealer Science = SCIENCE_MarauderTank End ExperienceValue = 100 100 200 300 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLATankMarauderCommandSet ; *** AUDIO Parameters *** VoiceSelect = MarauderTankVoiceSelect VoiceMove = MarauderTankVoiceMove VoiceGuard = MarauderTankVoiceMove VoiceAttack = MarauderTankVoiceAttack SoundMoveStart = MarauderTankMoveStart SoundMoveStartDamaged = MarauderTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = MarauderTankVoiceCreate ;TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop VoiceSalvage = MarauderTankVoiceSalvage VoiceCrush = MarauderTankVoiceCrush VoiceEnter = MarauderTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 500.0 InitialHealth = 500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 860 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL MarauderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = AutoHealBehavior ModuleTag_05 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_06 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 1000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_MarauderTankDeathEffect FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = CreateCrateDie ModuleTag_07 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End ; A crushing defeat Behavior = FXListDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = SlowDeathBehavior ModuleTag_Death_22 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = FireWeaponWhenDeadBehavior ModuleTag998 DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE +SUICIDED End; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 DeathWeapon = Demo_DestroyedWeapon StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL -SUICIDED End Behavior = CommandSetUpgrade ModuleTag_24 CommandSet = Demo_GLATankMarauderCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = BOX GeometryMajorRadius = 17.0 GeometryMinorRadius = 10.0 GeometryHeight = 9.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;GLA Radar Van Object Demo_GLAVehicleRadarVan ; *** ART Parameters *** SelectPortrait = SURadarVan_L ButtonImage = SURadarVan UpgradeCameo1 = Upgrade_GLARadarVanScan UpgradeCameo2 = Upgrade_GLAJunkRepair UpgradeCameo3 = Demo_Upgrade_SuicideBomb ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UVRadarVan Animation = UVRadarVan.UVRadarVan AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = UVRadarVan_D Animation = UVRadarVan_D.UVRadarVan_D AnimationMode = LOOP End ConditionState = RUBBLE Model = UVRadarVan_D Animation = UVRadarVan_D.UVRadarVan_D AnimationMode = LOOP End TrackMarks = EXTireTrack.tga ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:RadarVan Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Weapon = PRIMARY None Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY None AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End BuildCost = 500 BuildTime = 10.0 ;in seconds VisionRange = 200 ShroudClearingRange = 500 Prerequisites Object = Demo_GLAArmsDealer End IsTrainable = No CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAVehicleRadarVanCommandSet ; *** AUDIO Parameters *** VoiceSelect = RadarVanVoiceSelect VoiceMove = RadarVanVoiceMove VoiceAttack = RadarVanVoiceMove SoundMoveStart = RadarVanMoveStart SoundMoveStartDamaged = RadarVanMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = RadarVanVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = NoSound ;RocketBuggyLand TruckPowerslideSound = NoSound ;RocketBuggyPowerslide VoiceCrush = RadarVanVoiceCrush VoiceEnter = RadarVanVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE IGNORES_SELECT_ALL Body = ActiveBody ModuleTag_02 MaxHealth = 200 InitialHealth = 200 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 400 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End ExperienceValue = 20 20 20 20 ; Experience point value at each level Behavior = GrantUpgradeCreate ModuleTag_03 UpgradeToGrant = Upgrade_GLARadar End Behavior = RadarUpgrade ModuleTag_05 TriggeredBy = Upgrade_GLARadar DisableProof = Yes ; Won't be disabled by power low End Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = SpecialPowerRadarVanScan OCL = SUPERWEAPON_RadarVanScan CreateLocation = CREATE_AT_LOCATION StartsPaused = Yes ; Unpaused by upgrade module End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_07 SpecialPowerTemplate = SpecialPowerRadarVanScan TriggeredBy = Upgrade_GLARadarVanScan End Behavior = AutoHealBehavior ModuleTag_08 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = AIUpdateInterface ModuleTag_09 Turret TurretTurnRate = 100 ControlledWeaponSlots = PRIMARY End End Locomotor = SET_NORMAL RadarVanLocomotor Behavior = PhysicsBehavior ModuleTag_10 Mass = 50.0 End ; The default explosion Behavior = SlowDeathBehavior ModuleTag_11 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 5 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 0 DestructionDelayVariance = 200 FX = FINAL FX_BuggyNewDeathExplosion OCL = FINAL OCL_RadarVanDeathEffect End Behavior = FlammableUpdate ModuleTag_13 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = DestroyDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = CreateCrateDie ModuleTag_15 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = StealthDetectorUpdate ModuleTag_16 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 250 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End ; A crushing defeat Behavior = FXListDie ModuleTag_17 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_18 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = TransitionDamageFX ModuleTag_19 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_CrusaderDamageTransition End Behavior = SlowDeathBehavior ModuleTag_Death_20 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = FireWeaponWhenDeadBehavior ModuleTag998 DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE +SUICIDED End; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 DeathWeapon = Demo_DestroyedWeapon StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL -SUICIDED End Behavior = CommandSetUpgrade ModuleTag_22 CommandSet = Demo_GLAVehicleRadarVanCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = BOX GeometryMajorRadius = 16.0 GeometryMinorRadius = 6.0 GeometryHeight = 12.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ;minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Demo_GLAVehicleBattleBus ; *** ART Parameters *** SelectPortrait = SUbattlebus_L ButtonImage = SUbattlebus UpgradeCameo1 = Upgrade_GLAJunkRepair UpgradeCameo2 = Demo_Upgrade_SuicideBomb Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes TrackMarks = EXTireTrack.tga ExtraPublicBone = BUSUP01 ExtraPublicBone = BUSUP02 DefaultConditionState Model = UVBATTBUS HideSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS.UVBATTBUS AnimationMode = MANUAL End ConditionState = MOVING Model = UVBATTBUS Animation = UVBATTBUS.UVBATTBUS AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = UVBATTBUS_D Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = MANUAL End ConditionState = REALLYDAMAGED MOVING Model = UVBATTBUS_D Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = LOOP End ConditionState = SECOND_LIFE ; Set after our first death, natch Model = UVBATTBUS_D1 Animation = UVBATTBUS_D1.UVBATTBUS_D1 AnimationMode = MANUAL End AliasConditionState = REALLYDAMAGED SECOND_LIFE AliasConditionState = RUBBLE SECOND_LIFE ConditionState = RUBBLE Model = UVBATTBUS_D End ;--------- One crates ConditionState = ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS ShowSubObject = BUSUP01 HideSubObject = BUSUP02 Animation = UVBATTBUS.UVBATTBUS AnimationMode = MANUAL End ConditionState = MOVING ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS ShowSubObject = BUSUP01 HideSubObject = BUSUP02 Animation = UVBATTBUS.UVBATTBUS AnimationMode = LOOP End ConditionState = REALLYDAMAGED ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS_D ShowSubObject = BUSUP01 HideSubObject = BUSUP02 Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = MANUAL End ConditionState = REALLYDAMAGED MOVING ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS_D ShowSubObject = BUSUP01 HideSubObject = BUSUP02 Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = LOOP End ConditionState = SECOND_LIFE ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS_D1 ShowSubObject = BUSUP01 HideSubObject = BUSUP02 Animation = UVBATTBUS_D1.UVBATTBUS_D1 AnimationMode = MANUAL End AliasConditionState = REALLYDAMAGED SECOND_LIFE ARMORSET_CRATEUPGRADE_ONE AliasConditionState = RUBBLE SECOND_LIFE ARMORSET_CRATEUPGRADE_ONE ConditionState = RUBBLE ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS_D ShowSubObject = BUSUP01 HideSubObject = BUSUP02 End ;--------- Two crates ConditionState = ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS ShowSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS.UVBATTBUS AnimationMode = MANUAL End ConditionState = MOVING ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS ShowSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS.UVBATTBUS AnimationMode = LOOP End ConditionState = REALLYDAMAGED ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS_D ShowSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = MANUAL End ConditionState = REALLYDAMAGED MOVING ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS_D ShowSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = LOOP End ConditionState = SECOND_LIFE ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS_D1 ShowSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS_D1.UVBATTBUS_D1 AnimationMode = MANUAL End AliasConditionState = REALLYDAMAGED SECOND_LIFE ARMORSET_CRATEUPGRADE_TWO AliasConditionState = RUBBLE SECOND_LIFE ARMORSET_CRATEUPGRADE_TWO ConditionState = RUBBLE ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS_D ShowSubObject = BUSUP01 BUSUP02 End LeftFrontTireBone = Tire01 RightFrontTireBone = Tire04 LeftRearTireBone = Tire02 RightRearTireBone = Tire03 TireRotationMultiplier = 0.2 ; this * speed = rotation. Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide End PlacementViewAngle = 180 ; ***DESIGN parameters *** DisplayName = OBJECT:BattleBus Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 8 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY None Weapon = SECONDARY BattleBusDummyWeapon Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY None End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY BattleBusPassengerDummyWeapon Weapon = SECONDARY BattleBusDummyWeapon Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY None End ArmorSet Conditions = None Armor = BattleBusTruckArmor DamageFX = TruckDamageFX End ArmorSet Conditions = SECOND_LIFE ; Set after our first death, natch Armor = BattleBusStructureArmorTough DamageFX = StructureDamageFX End ArmorSet Conditions = CRATE_UPGRADE_ONE Armor = BattleBusTruckArmorPlusOne DamageFX = TruckDamageFX End ArmorSet Conditions = CRATE_UPGRADE_ONE SECOND_LIFE ; Set after our first death, natch Armor = BattleBusStructureArmorToughPlusOne DamageFX = StructureDamageFX End ArmorSet Conditions = CRATE_UPGRADE_TWO Armor = BattleBusTruckArmorPlusTwo DamageFX = TruckDamageFX End ArmorSet Conditions = CRATE_UPGRADE_TWO SECOND_LIFE ; Set after our first death, natch Armor = BattleBusStructureArmorToughPlusTwo DamageFX = StructureDamageFX End BuildCost = 1200 BuildTime = 15.0 ;in seconds VisionRange = 150 ; Used in attack move targeting ShroudClearingRange = 200 Prerequisites Object = Demo_GLAArmsDealer Object = Demo_GLAPalace End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAVehicleBattleBusCommandSet ; *** AUDIO Parameters *** VoiceSelect = BattleBusVoiceSelect VoiceMove = BattleBusVoiceMove VoiceGuard = BattleBusVoiceMove VoiceAttack = BattleBusVoiceAttack SoundMoveStart = BattleBusMoveStart SoundMoveStartDamaged = BattleBusMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = BattleBusVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = NoSound TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceUnload = BattleBusVoiceUnload End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SALVAGER ARMOR_SALVAGER SCORE TRANSPORT Body = UndeadBody ModuleTag_02 ; Body module that treats the first death as a state change MaxHealth = 400.0 InitialHealth = 400.0 SecondLifeMaxHealth = 650.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 750 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End IsTrainable = No ExperienceValue = 50 50 50 50 ; Experience point value at each level Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = No ATTACK_BUILDINGS End Behavior = PhysicsBehavior ModuleTag_05 Mass = 40.0 End Behavior = AutoHealBehavior ModuleTag_06 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Locomotor = SET_NORMAL BattleBusLocomotor Behavior = BattleBusSlowDeathBehavior ModuleTag_08 DeathTypes = ALL -CRUSHED -SPLATTED -EXTRA_4 -SUICIDED ;Crushed and splatted are cover by a DestroyDie. Extra4(loneliness) and Suicide(DemoBomb) are covered in a normal slowdeath ProbabilityModifier = 5 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely ; Part the first, uses when killed the first time from non-system (unresistable) damage FXStartUndeath = FX_BattleBusStartUndeath OCLStartUndeath = OCL_BattleBusStartUndeath FXHitGround = FX_BattleBusHitGround OCLHitGround = OCL_BattleBusHitGround ThrowForce = 100.0 PercentDamageToPassengers = 50% EmptyHulkDestructionDelay = 1000 ; If non-zero, msec of emptiness before we kill ourselves with Penalty damage, EXTRA_4 death ; Part the second, normal fields of a SlowDeathBehavior DestructionDelay = 0 DestructionDelayVariance = 200 FX = FINAL FX_BuggyNewDeathExplosion OCL = FINAL OCL_BattleBusDeath End Behavior = TransportContain ModuleTag_10 PassengersAllowedToFire = Yes Slots = 8 DamagePercentToUnits = 100% AllowInsideKindOf = INFANTRY ExitDelay = 250 NumberOfExitPaths = 5 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting WeaponBonusPassedToPassengers = Yes DelayExitInAir = Yes DelayExitInAir = Yes ArmedRidersUpgradeMyWeaponSet = Yes End ; Module 11 cut. ; Behavior = HordeUpdate ModuleTag_11 ; RubOffRadius = 150 ; if I am this close to a real hordesman, I will get to be an honorary hordesman ; UpdateRate = 1000 ; how often to recheck horde status (msec) ; Radius = 75 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) ; AlliesOnly = Yes ; do we only count allies towards horde status? ; ExactMatch = Yes ; do we only count units of our exact same type towards horde status? (overrides kindof) ; Count = 5 ; how many units must be within Radius to grant us horde-ness ; Action = HORDE ; when horde-ing, grant us the HORDE bonus ; End ; A crushing defeat Behavior = FXListDie ModuleTag_23 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_24 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_25 CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_28 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = DestroyDie ModuleTag_29 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FireWeaponWhenDeadBehavior ModuleTag998 DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE +SUICIDED End; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 DeathWeapon = Demo_DestroyedWeapon StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL -SUICIDED End Behavior = CommandSetUpgrade ModuleTag_33 CommandSet = Demo_GLAVehicleBattleBusCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Behavior = SlowDeathBehavior ModuleTag_34 // Empty Hulk sinking away DeathTypes = NONE +EXTRA_4 SinkDelay = 1 SinkRate = 2.5 DestructionDelay = 5000 End Behavior = SlowDeathBehavior ModuleTag_35 // Sorry, because the terrorist does Suicide damage to others, we cannot tell if it is a legit suicide (us killing self) DeathTypes = NONE +SUICIDED DestructionDelay = 1 FX = FINAL FX_BuggyNewDeathExplosion End Behavior = TransitionDamageFX ModuleTag_36 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Geometry = BOX GeometryMajorRadius = 19.0 GeometryMinorRadius = 8.0 GeometryHeight = 11.5 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Infa_ChinaJetMIG ; *** ART Parameters *** SelectPortrait = SNMig_L ButtonImage = SNMig UpgradeCameo1 = Upgrade_ChinaAircraftArmor UpgradeCameo2 = Upgrade_ChinaBlackNapalm ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = NVMIG HideSubObject = BurnerFX01 BurnerFX02 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Exhaust01 JetExhaust ParticleSysBone = Exhaust02 JetExhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED Model = NVMIG_D ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE Model = NVMIG_D End ConditionState = REALLYDAMAGED JETEXHAUST Model = NVMIG_D ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = NVMIG_D ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER ; @todo srj -- model missing ;Model = NVMIG_D1B Model = NVMIG_D ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End End ; ***DESIGN parameters *** DisplayName = OBJECT:MIG EditorSorting = VEHICLE Side = ChinaInfantryGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 200.0 ShroudClearingRange = 300.0 Prerequisites Object = Infa_ChinaAirfield End WeaponSet Conditions = None Weapon = PRIMARY NapalmMissileWeapon ; AutoChooseSources = PRIMARY NONE End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY BlackNapalmMissileWeapon ; AutoChooseSources = PRIMARY NONE End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End BuildCost = 1200 BuildTime = 10 ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ChinaJetMIGCommandSet ; *** AUDIO Parameters *** VoiceSelect = MigVoiceSelect VoiceMove = MigVoiceMove VoiceAttack = MigVoiceAttack VoiceAttackAir = MigVoiceAttackAir VoiceGuard = MigVoiceAirPatrol SoundAmbient = MigAmbientLoop UnitSpecificSounds VoiceCreate = MigVoiceCreate Afterburner = RaptorAfterburner VoiceGarrison = MigVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 160.0 InitialHealth = 160.0 End Behavior = JetSlowDeathBehavior ModuleTag_03 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_MIGDeathFinalBlowUp DestructionDelay = 99999999 ; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_MigDeathInitial OCLInitialDeath = OCL_MIGDeathInitial DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary OCLSecondary = OCL_MIGDeathSecondary FXHitGround = FX_JetDeathHitGround OCLHitGround = OCL_MIGDeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_MIGDeathFinalBlowUp End Behavior = WeaponSetUpgrade ModuleTag_04 TriggeredBy = Upgrade_ChinaBlackNapalm End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End Behavior = JetAIUpdate ModuleTag_06 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Locomotor = SET_NORMAL MIGLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = FlammableUpdate ModuleTag_08 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_09 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Behavior = MaxHealthUpgrade ModuleTag_10 TriggeredBy = Upgrade_ChinaAircraftArmor AddMaxHealth = 40.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Geometry = Box GeometryIsSmall = Yes GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 5.0 Shadow = SHADOW_VOLUME Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Infa_ChinaJetCargoPlane ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = NVCargoPln Animation = NVCargoPln.NVCargoPln AnimationMode = LOOP ParticleSysBone = Propeller01 JetBlackTrailThin ParticleSysBone = Propeller02 JetBlackTrailThin ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin End ConditionState = DAMAGED Model = NVCargoPln_D Animation = NVCargoPln_D.NVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke03 JetFireLarge ParticleSysBone = Propeller01 JetBlackTrailThin ParticleSysBone = Propeller02 JetBlackTrailThin ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin End ConditionState = REALLYDAMAGED Model = NVCargoPln_D Animation = NVCargoPln_D.NVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke03 JetFireLarge ParticleSysBone = Smoke04 JetFireLarge ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 JetSmokeLarge ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin End ConditionState = RUBBLE Model = NVCargoPln_D1 ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke06 JetFireLarge ParticleSysBone = Smoke03 JetFireLarge ParticleSysBone = Smoke04 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke06 JetSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 JetSmokeLarge End OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes End Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = NVCargoPln_A2 Animation = NVCargoPln_A2.NVCargoPln_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING Model = NVCargoPln_A2 Animation = NVCargoPln_A2.NVCargoPln_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_CLOSING Model = NVCargoPln_A2 Animation = NVCargoPln_A2.NVCargoPln_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:CargoPlane EditorSorting = VEHICLE Side = ChinaInfantryGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 0.0 ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End CommandSet = Command_ScriptedTransportDrops ; *** AUDIO Parameters *** SoundAmbient = C130AmbientLoop SoundAmbientRubble = NoSound ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT FORCEATTACKABLE IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 1000.0 InitialHealth = 1000.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = PhysicsBehavior ModuleTag_04 Mass = 500.0 End Behavior = DeliverPayloadAIUpdate ModuleTag_05 DoorDelay = 500 MaxAttempts = 4 DropOffset = X:0 Y:0 Z:-10 DropDelay = 300 ;500 ; time in between each item dropped (if more than one) PutInContainer = AmericaParachute DeliveryDistance = 150 End Locomotor = SET_NORMAL B52Locomotor Behavior = TransportContain ModuleTag_06 Slots = 100 ; hey, it's a BIG transport ScatterNearbyOnExit = No OrientLikeContainerOnExit = Yes KeepContainerVelocityOnExit = Yes ExitPitchRate = 30 ExitBone = WeaponA01 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em NumberOfExitPaths = 0 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' End ;SCRIPTED SUPPORT: These special powers are triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_07 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ OCL = SUPERWEAPON_DaisyCutter CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_08 SpecialPowerTemplate = Infa_SuperweaponInfantryParadrop UpgradeOCL = SCIENCE_Paradrop3 Infa_SUPERWEAPON_Paradrop3 UpgradeOCL = SCIENCE_Paradrop2 Infa_SUPERWEAPON_Paradrop2 OCL = Infa_SUPERWEAPON_Paradrop1 CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_09 SpecialPowerTemplate = SuperweaponCarpetBomb OCL = SUPERWEAPON_CarpetBomb CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_10 SpecialPowerTemplate = SuperweaponClusterMines OCL = SUPERWEAPON_ClusterMines CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_11 SpecialPowerTemplate = SuperweaponEMPPulse OCL = SUPERWEAPON_EMPPulse CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = JetSlowDeathBehavior ModuleTag_12 DestructionDelay = 2000 RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetBigDeathInitial OCLInitialDeath = OCL_AmericaJetCargoDeathStart DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time OCLSecondary = OCL_AmericaJetCargoHulkDeath FXSecondary = FX_BigPlaneDeath End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_13 ;;;;;;;; End Behavior = TransitionDamageFX ModuleTag_14 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition End Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 40.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Infa_ChinaInfantryBlackLotus ; *** ART Parameters *** SelectPortrait = SNSprLotus_L ButtonImage = SNSprLotus ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; --- idle DefaultConditionState Model = NIHERO_SKN IdleAnimation = NIHERO_SKL.NIHERO_STA 0 17 IdleAnimation = NIHERO_SKL.NIHero_IDA IdleAnimation = NIHERO_SKL.NIHero_IDB AnimationMode = ONCE TransitionKey = TRANS_Stand End ConditionState = REALLYDAMAGED IdleAnimation = NIHERO_SKL.NIHERO_ISTA 0 30 IdleAnimation = NIHERO_SKL.NIHero_IIDA AnimationMode = ONCE TransitionKey = TRANS_StandInjured End TransitionState = TRANS_Stand TRANS_StandInjured Animation = NIHero_SKL.NIHero_ISTAHIT AnimationMode = ONCE End ; --- moving ConditionState = MOVING Animation = NIHero_SKL.NIHero_RNA AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING UNPACKING ConditionState = MOVING REALLYDAMAGED Animation = NIHero_SKL.NIHero_IRNA AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING UNPACKING REALLYDAMAGED ; --- packing states ConditionState = UNPACKING ;Preparing to attack (unpacking gear) Animation = NIHero_SKL.NIHero_ATA1 AnimationMode = ONCE End AliasConditionState = UNPACKING FIRING_A ConditionState = FIRING_A ;Processing attack (hacking) Animation = NIHero_SKL.NIHero_ATA2 AnimationMode = LOOP TransitionKey = TRANS_FiringA End ConditionState = PACKING ;Completing attack (packing gear) Animation = NIHero_SKL.NIHero_ATA3 AnimationMode = ONCE End AliasConditionState = FIRING_A PACKING TransitionState = TRANS_FiringA TRANS_FiringAInjured Animation = NIHero_SKL.NIHero_IATAHIT AnimationMode = ONCE End ; --- injured-packing states ConditionState = UNPACKING REALLYDAMAGED ;Preparing to attack (unpacking gear) Animation = NIHero_SKL.NIHero_IATA1 AnimationMode = ONCE End AliasConditionState = UNPACKING FIRING_A REALLYDAMAGED ConditionState = FIRING_A REALLYDAMAGED ;Processing attack (hacking) Animation = NIHero_SKL.NIHero_IATA2 AnimationMode = LOOP TransitionKey = TRANS_FiringAInjured End ConditionState = PACKING REALLYDAMAGED ;Completing attack (packing gear) Animation = NIHero_SKL.NIHero_IATA3 AnimationMode = ONCE End AliasConditionState = FIRING_A PACKING REALLYDAMAGED ; --- packing-dying states ; code doesn't really support this. Oh well. ; ConditionState = DYING RAISING_FLAG ; Animation = NIHero_SKL.NIHero_IDTA ; Animation = NIHero_SKL.NIHero_IDTB ; AnimationMode = ONCE ; End ; AliasConditionState = DYING RAISING_FLAG EXPLODED_FLAILING EXPLODED_BOUNCING ; --- normal-dying states ConditionState = DYING Animation = NIHero_SKL.NIHero_DTA Animation = NIHero_SKL.NIHero_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = NIHero_SKL.NIHero_ADTF1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = NIHero_SKL.NIHero_ADTF2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = NIHero_SKL.NIHero_ADTF3 AnimationMode = ONCE TransitionKey = None End ; --- cheering states ConditionState = SPECIAL_CHEERING Animation = NIHERO_SKL.NIHERO_CHA AnimationMode = ONCE End ConditionState = SPECIAL_CHEERING REALLYDAMAGED Animation = NIHERO_SKL.NIHERO_ICHA AnimationMode = ONCE End ; --- falling states ConditionState = FREEFALL Animation = NIHero_SKL.NIHero_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = NIHero_SKL.NIHero_PHG AnimationMode = LOOP TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = NIHero_SKL.NIHero_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = NIHero_SKL.NIHero_PTD AnimationMode = ONCE End TransitionState = TRANS_Chute TRANS_StandInjured Animation = NIHero_SKL.NIHero_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:BlackLotus Side = ChinaInfantryGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY None End ArmorSet Conditions = None Armor = InfGen_HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = HazMatHumanArmor DamageFX = InfantryDamageFX End VisionRange = 300 ShroudClearingRange = 400 Prerequisites Object = Infa_ChinaBarracks Object = Infa_ChinaPropagandaCenter End BuildCost = 1500 BuildTime = 20.0 ;in seconds MaxSimultaneousOfType = 1 ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Infa_ChinaInfantryBlackLotusCommandSet ; *** AUDIO Parameters *** VoiceSelect = BlackLotusVoiceSelect VoiceMove = BlackLotusVoiceMove VoiceAttack = NoSound VoiceGuard = BlackLotusVoiceMove VoiceFear = BlackLotusVoiceFear VoiceTaskComplete = BlackLotusVoiceCaptureComplete SoundStealthOn = StealthOn SoundStealthOff = StealthOff UnitSpecificSounds VoiceCreate = BlackLotusVoiceCreate VoiceGarrison = BlackLotusVoiceMove VoiceEnter = BlackLotusVoiceMove VoiceEnterHostile = BlackLotusVoiceMove VoiceStealCashComplete = BlackLotusVoiceCashComplete VoiceDisableVehicleComplete = BlackLotusVoiceDisableComplete VoiceCaptureBuildingComplete = BlackLotusVoiceCaptureComplete VoiceGetHealed = BlackLotusVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE HERO CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 200.0 InitialHealth = 200.0 End Behavior = CommandButtonHuntUpdate ModuleTag_03 ; allows use of command button hunt script with this unit. End Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = No End Locomotor = SET_NORMAL BlackLotusLocomotor Locomotor = SET_FREEFALL FreeFallLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 5.0 End Behavior = StealthUpdate ModuleTag_07 StealthDelay = 2500 ; msec StealthForbiddenConditions = USING_ABILITY HintDetectableConditions = USING_ABILITY InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes EnemyDetectionEvaEvent = EnemyBlackLotusDetected OwnDetectionEvaEvent = OwnBlackLotusDetected End Behavior = StealthDetectorUpdate ModuleTag_44 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = SpecialAbility ModuleTag_08 SpecialPowerTemplate = SpecialAbilityBlackLotusCaptureBuilding UpdateModuleStartsAttack = Yes InitiateSound = BlackLotusVoiceHackBuilding End Behavior = SpecialAbilityUpdate ModuleTag_09 SpecialPowerTemplate = SpecialAbilityBlackLotusCaptureBuilding StartAbilityRange = 150.0 UnpackTime = 6730 ;animation time is 6730 (changing this will scale anim speed) PackTime = 2800 ;animation time is 5800 (changing this will scale anim speed) PreparationTime = 4500 ;time to complete hack once prepared (unpacked) SpecialObject = BinaryDataStream DoCaptureFX = Yes PackSound = BlackLotusPack UnpackSound = BlackLotusUnpack TriggerSound = BlackLotusTrigger PrepSoundLoop = BlackLotusPrepLoop AwardXPForTriggering = 20 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = SpecialAbility ModuleTag_10 SpecialPowerTemplate = SpecialAbilityBlackLotusDisableVehicleHack UpdateModuleStartsAttack = Yes InitiateSound = BlackLotusVoiceHackVehicle End Behavior = SpecialAbilityUpdate ModuleTag_11 SpecialPowerTemplate = SpecialAbilityBlackLotusDisableVehicleHack StartAbilityRange = 300.0 UnpackTime = 2000 ;6730 ;animation time is 6730 (changing this will scale anim speed) PackTime = 1000 ;2800 ;animation time is 5800 (changing this will scale anim speed) PreparationTime = 2000 ;time to complete hack once prepared (unpacked) EffectDuration = 20000 ;duration vehicle is disabled (30 seconds) DisableFXParticleSystem = DisabledEffectBinaryShower0 SpecialObject = BinaryDataStream PackSound = BlackLotusPack UnpackSound = BlackLotusUnpack TriggerSound = BlackLotusTrigger PrepSoundLoop = BlackLotusPrepLoop AwardXPForTriggering = 0 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = SpecialAbility ModuleTag_12 SpecialPowerTemplate = SpecialAbilityBlackLotusStealCashHack UpdateModuleStartsAttack = Yes InitiateSound = BlackLotusVoiceHackCash End Behavior = SpecialAbilityUpdate ModuleTag_13 SpecialPowerTemplate = SpecialAbilityBlackLotusStealCashHack StartAbilityRange = 150.0 UnpackTime = 6730 ;animation time is 6730 (changing this will scale anim speed) PackTime = 5800 ;animation time is 5800 (changing this will scale anim speed) PreparationTime = 6000 ;time to complete hack once prepared (unpacked) EffectValue = 1500 ;amount of cash stolen SpecialObject = BinaryDataStream PackSound = BlackLotusPack UnpackSound = BlackLotusUnpack TriggerSound = BlackLotusTrigger PrepSoundLoop = BlackLotusPrepLoop AwardXPForTriggering = 20 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End ;Hero units can't be squished! ;Behavior = SquishCollide ModuleTag_14 ; ;nothing ;End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_BlackLotusDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_BlackLotusDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireFemale OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinFemale OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinFemale OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinFemale OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_17 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = VeterancyGainCreate ModuleTag_18 StartingLevel = VETERAN End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Infa_ChinaInfantryTankHunter ; *** ART Parameters *** SelectPortrait = SNTankHunter_L ButtonImage = SNTankHunter UpgradeCameo1 = UPGRADE:Fanaticism ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = NIMSST_SKN IdleAnimation = NIMSST_SKL.NIMSST_STA 0 30 IdleAnimation = NIMSST_SKL.NIMSST_IDA IdleAnimation = NIMSST_SKL.NIMSST_IDB AnimationMode = ONCE AnimationSpeedFactorRange = 0.8 1.2 TransitionKey = TRANS_Stand WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = PRIMARY Muzzle WeaponLaunchBone = PRIMARY Muzzle WeaponLaunchBone = SECONDARY Muzzle End AliasConditionState = REALLYDAMAGED ConditionState = FIRING_A Animation = NIMSST_SKL.NIMSST_ATA AnimationMode = ONCE TransitionKey = TRANS_START_FIRING End AliasConditionState = REALLYDAMAGED FIRING_A ConditionState = BETWEEN_FIRING_SHOTS_A Animation = NIMSST_SKL.NIMSST_STA AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_START_FIRING End AliasConditionState = REALLYDAMAGED BETWEEN_FIRING_SHOTS_A ConditionState = MOVING Animation = NIMSST_SKL.NIMSST_RNA 20 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = REALLYDAMAGED MOVING AliasConditionState = MOVING ATTACKING AliasConditionState = MOVING ATTACKING REALLYDAMAGED ConditionState = RELOADING_A Animation = NIMSST_SKL.NIMSST_ATA 10 AnimationMode = ONCE ;WeaponLaunchBone = PRIMARY WeaponA End AliasConditionState = MOVING RELOADING_A AliasConditionState = REALLYDAMAGED MOVING RELOADING_A ConditionState = DYING Animation = NIMSST_SKL.NIMSST_DTA Animation = NIMSST_SKL.NIMSST_DTB AnimationSpeedFactorRange = 0.9 1.25 AnimationMode = ONCE TransitionKey = TRANS_Dying End AliasConditionState = DYING RUBBLE TransitionState = TRANS_Dying TRANS_Flailing Animation = NIMSST_SKL.NIMSST_ADTD1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = NIMSST_SKL.NIMSST_ADTD2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = NIMSST_SKL.NIMSST_ADTD3 AnimationMode = ONCE TransitionKey = None End ;PARACHUTING ANIMATIONS ConditionState = FREEFALL Animation = NIMSST_SKL.NIMSST_POP AnimationMode = ONCE TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = NIMSST_SKL.NIMSST_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING ; TransitionState = TRANS_Falling TRANS_Chute ; Animation = NIMSST_SKL.NIMSST_POP ; AnimationMode = ONCE ; Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first ; End TransitionState = TRANS_Chute TRANS_Stand Animation = NIMSST_SKL.NIMSST_PDN AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:TankHunter Side = ChinaInfantryGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY ChinaInfantryTankHunterMissileLauncher End ArmorSet Conditions = None Armor = InfGen_HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 400 Prerequisites Object = Infa_ChinaBarracks End BuildCost = 300 BuildTime = 5.0 ;in seconds ExperienceValue = 20 20 40 60 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ChinaInfantryTankHunterCommandSet ; *** AUDIO Parameters *** VoiceSelect = TankHunterVoiceSelect VoiceMove = TankHunterVoiceMove VoiceAttack = TankHunterVoiceAttack VoiceAttackAir = TankHunterVoiceAttack VoiceGuard = TankHunterVoiceMove VoiceFear = TankHunterVoiceFear UnitSpecificSounds VoiceCreate = TankHunterVoiceCreate VoiceGarrison = TankHunterVoiceGarrison VoiceEnter = TankHunterVoiceMove VoiceEnterHostile = TankHunterVoiceMove VoiceGetHealed = TankHunterVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL MissileDefenderLocomotor Behavior = HordeUpdate ModuleTag_04 UpdateRate = 1000 ; how often to recheck horde status (msec) RubOffRadius = 60 ; if I am this close to a real hordesman, I will get to be an honorary hordesman Radius = 30 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) KindOf = INFANTRY ; what KindOf's must match to count towards horde-ness AlliesOnly = Yes ; do we only count allies towards horde status? ExactMatch = No ; do we only count units of our exact same type towards horde status? (overrides kindof) Count = 5 ; how many units must be within Radius to grant us horde-ness Action = HORDE ; when horde-ing, grant us the HORDE bonus End Behavior = PhysicsBehavior ModuleTag_05 Mass = 5.0 End Behavior = SpecialAbility ModuleTag_07 SpecialPowerTemplate = SpecialAbilityTankHunterTNTAttack UpdateModuleStartsAttack = Yes InitiateSound = TankHunterVoiceTNT End Behavior = SpecialAbilityUpdate ModuleTag_08 SpecialPowerTemplate = SpecialAbilityTankHunterTNTAttack StartAbilityRange = 5.0 PreparationTime = 0 SpecialObject = TNTStickyBomb MaxSpecialObjects = 8 SpecialObjectsPersistWhenOwnerDies = Yes ;Charges are removed instantly when owner dies (nobody can detonate). SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability End Behavior = SquishCollide ModuleTag_09 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TankHunterDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TankHunterDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireChina OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_12 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = VeterancyGainCreate ModuleTag_13 StartingLevel = VETERAN End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Infa_ChinaInfantryHacker ; *** ART Parameters *** SelectPortrait = SNHacker2_L ButtonImage = SNHacker2 ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;NORMAL STANDING DefaultConditionState Model = NIHCKR_SKN IdleAnimation = NIHCKR_SKL.NIHCKR_STA 0 25 ;Regular spice animations IdleAnimation = NIHCKR_SKL.NIHCKR_IDA IdleAnimation = NIHCKR_SKL.NIHCKR_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Bone_SatCom TransitionKey = TRANS_Stand End AliasConditionState = REALLYDAMAGED ConditionState = MOVING Animation = NIHCKR_SKL.NIHCKR_RNA 14 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING UNPACKING AliasConditionState = MOVING UNPACKING REALLYDAMAGED ConditionState = UNPACKING Animation = NIHCKR_SKL.NIHCKR_ATB1 AnimationMode = ONCE End AliasConditionState = UNPACKING FIRING_A AliasConditionState = UNPACKING REALLYDAMAGED AliasConditionState = UNPACKING FIRING_A REALLYDAMAGED ;HACKING ATTACK ConditionState = FIRING_A Animation = NIHCKR_SKL.NIHCKR_ATB2 AnimationMode = LOOP TransitionKey = TRANS_FiringA End AliasConditionState = FIRING_A REALLYDAMAGED ConditionState = PACKING Animation = NIHCKR_SKL.NIHCKR_ATB3 AnimationMode = ONCE End AliasConditionState = PACKING FIRING_A AliasConditionState = PACKING REALLYDAMAGED AliasConditionState = PACKING FIRING_A REALLYDAMAGED TransitionState = TRANS_FiringA TRANS_Stand ; I was stopped by a stop command, so I get no proper PACKING state Animation = NIHCKR_SKL.NIHCKR_ATB3 AnimationMode = ONCE End ConditionState = FREEFALL Animation = NIHCKR_SKL.NIHCKR_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = NIHCKR_SKL.NIHCKR_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING ConditionState = DYING Animation = NIHCKR_SKL.NIHCKR_DTA Animation = NIHCKR_SKL.NIHCKR_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = NIHCKR_SKL.NIHCKR_ADTG1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = NIHCKR_SKL.NIHCKR_ADTG2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = NIHCKR_SKL.NIHCKR_ADTG3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = NIHCKR_SKL.NIHCKR_CHA AnimationMode = LOOP End TransitionState = TRANS_Falling TRANS_Chute Animation = NIHCKR_SKL.NIHCKR_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = NIHCKR_SKL.NIHCKR_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Hacker Side = ChinaInfantryGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = InfGen_HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = HazMatHumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Infa_ChinaBarracks Object = Infa_ChinaPropagandaCenter End BuildCost = 625 BuildTime = 20.0 ;in seconds ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 100 300 500 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Infa_ChinaInfantryHackerCommandSet ; *** AUDIO Parameters *** VoiceSelect = SuperHackerVoiceSelect VoiceMove = HackerVoiceMove VoiceAttack = NoSound VoiceGuard = HackerVoiceMove VoiceFear = HackerVoiceFear VoiceTaskComplete = HackerVoiceHackComplete UnitSpecificSounds VoiceGarrison = HackerVoiceGarrison VoiceCreate = SuperHackerVoiceCreate UnitPack = HackerPack UnitUnpack = HackerUnpack UnitCashPing = HackerCashPing VoiceEnter = HackerVoiceMove ;VoiceStealCashComplete = SuperHackerVoiceCashComplete VoiceDisableVehicleComplete = SuperHackerVoiceDisableComplete ;VoiceCaptureBuildingComplete = SuperHackerVoiceCaptureComplete VoiceEnterHostile = HackerVoiceMove VoiceGetHealed = HackerVoiceMove VoiceHackInternet = HackerVoiceModeInternet End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE IGNORES_SELECT_ALL MONEY_HACKER Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = HackInternetAIUpdate ModuleTag_03 UnpackTime = 7300 ;animation time is 7300 (changing this will scale anim speed) PackTime = 5133 ;animation time is 5133 (changing this will scale anim speed) CashUpdateDelay = 2000 CashUpdateDelayFast = 1600 ; Fast speed used inside a container (can only hack inside an Internet Center) RegularCashAmount = 5 VeteranCashAmount = 6 EliteCashAmount = 8 HeroicCashAmount = 10 XpPerCashUpdate = 1 PackUnpackVariationFactor = 0.5 ;Adds + or - 20% to pack and unpack time randomly. End Locomotor = SET_NORMAL BasicHumanLocomotor Behavior = SpecialAbility ModuleTag_04 SpecialPowerTemplate = SpecialAbilityHackerDisableBuilding UpdateModuleStartsAttack = Yes InitiateSound = HackerVoiceHack End Behavior = SpecialAbilityUpdate ModuleTag_05 SpecialPowerTemplate = SpecialAbilityHackerDisableBuilding StartAbilityRange = 150.0 UnpackTime = 7300 ;animation time is 7300 (changing this will scale anim speed) PackTime = 5133 ;animation time is 5133 (changing this will scale anim speed) PreparationTime = 3000 ;PersistentPrepTime = 500 ; old setting PersistentPrepTime = 333 ; NOTE! This drives how often the disable effect gets triggered ; This is also how often a new particle system effect is spawned EffectDuration = 2000 SpecialObject = BinaryDataStream DisableFXParticleSystem = DisabledEffectBinaryShower0 PackSound = HackerPack UnpackSound = HackerUnpack PrepSoundLoop = HackerPrepLoop AwardXPForTriggering = 0 ;Careful, this is persistant so it's a DoT xp gain! ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = SquishCollide ModuleTag_08 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_HackerDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_HackerDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireChina OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_11 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SpecialAbility ModuleTag_12 SpecialPowerTemplate = SpecialAbilityBlackLotusDisableVehicleHack UpdateModuleStartsAttack = Yes InitiateSound = SuperHackerVoiceHackVehicle End Behavior = SpecialAbilityUpdate ModuleTag_13 SpecialPowerTemplate = SpecialAbilityBlackLotusDisableVehicleHack StartAbilityRange = 150.0 UnpackTime = 2000 ;6730 ;animation time is 6730 (changing this will scale anim speed) PackTime = 1000 ;2800 ;animation time is 5800 (changing this will scale anim speed) PreparationTime = 2000 ;time to complete hack once prepared (unpacked) EffectDuration = 15000 ;duration vehicle is disabled (30 seconds) DisableFXParticleSystem = DisabledEffectBinaryShower0 SpecialObject = BinaryDataStream PackSound = BlackLotusPack UnpackSound = BlackLotusUnpack TriggerSound = BlackLotusTrigger PrepSoundLoop = BlackLotusPrepLoop AwardXPForTriggering = 0 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = StealthUpdate ModuleTag_14 StealthDelay = 2500 ; msec StealthForbiddenConditions = USING_ABILITY HintDetectableConditions = USING_ABILITY InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = VeterancyGainCreate ModuleTag_15 StartingLevel = VETERAN End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;China Dragon Tank Object Infa_ChinaTankDragon ; *** ART Parameters *** SelectPortrait = SNDragonTank_L ButtonImage = SNDragonTank UpgradeCameo1 = Upgrade_ChinaBlackNapalm ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = NVDragon Turret = Turret TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ConditionState = REALLYDAMAGED Model = NVDragon_D Turret = Turret TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ConditionState = RUBBLE Model = NVDragon_D Turret = Turret TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. End ; ***DESIGN parameters *** DisplayName = OBJECT:Dragon Side = ChinaInfantryGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY DragonTankFlameWeapon Weapon = SECONDARY DragonTankFireWallWeapon AutoChooseSources = SECONDARY NONE End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY DragonTankFlameWeaponUpgraded Weapon = SECONDARY DragonTankFireWallWeaponUpgraded AutoChooseSources = SECONDARY NONE WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock End ArmorSet Conditions = None Armor = DragonTankArmor DamageFX = TankDamageFX End BuildCost = 900 BuildTime = 10.0 ;in seconds VisionRange = 100 ShroudClearingRange = 200 Prerequisites Object = Infa_ChinaWarFactory End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ChinaTankDragonCommandSet ; *** AUDIO Parameters *** VoiceSelect = DragonTankVoiceSelect VoiceMove = DragonTankVoiceMove VoiceGuard = DragonTankVoiceMove VoiceAttack = DragonTankVoiceAttack SoundMoveStart = DragonTankMoveStart SoundMoveStartDamaged = DragonTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = DragonTankVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop VoiceEnter = DragonTankVoiceMove VoiceFlameLocation = DragonTankVoiceFireStorm End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 280.0 InitialHealth = 280.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 560 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 120 TurretPitchRate = 120 AllowsPitch = Yes MinPhysicalPitch = -15 TurretFireAngleSweep = PRIMARY 10 TurretFireAngleSweep = SECONDARY 60 TurretSweepSpeedModifier = PRIMARY 0.5 ; Sweep slower than you turn (aim for 30 for art) TurretSweepSpeedModifier = SECONDARY 2.0 ; Sweep faster than you turn ControlledWeaponSlots = PRIMARY SECONDARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL DragonLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = WeaponSetUpgrade ModuleTag_05 TriggeredBy = Upgrade_ChinaBlackNapalm End ; A crushing defeat Behavior = DestroyDie ModuleTag_06 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_07 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_08 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_09 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End ; just explode death Behavior = SlowDeathBehavior ModuleTag_10 DeathTypes = ALL -CRUSHED -SPLATTED ; ProbabilityModifier = 33 DestructionDelay = 500 DestructionDelayVariance = 500 FX = INITIAL FX_BattleMasterExplosionOneFinal OCL = FINAL OCL_DragonDebris FX = FINAL FX_DragonTankDeathExplosionFinal End ; Catch fire, and explode death ; Behavior = SlowDeathBehavior ; DeathTypes = ALL -CRUSHED -SPLATTED ;; ProbabilityModifier = 33 ; DestructionDelay = 2000 ; DestructionDelayVariance = 300 ; FX = INITIAL FX_CrusaderCatchFire ; OCL = FINAL OCL_DragonDebris ; FX = FINAL FX_GenericTankDeathExplosion ; End ; Napalm spills out, and explode death ; Behavior = SlowDeathBehavior ; DeathTypes = ALL -CRUSHED -SPLATTED ;; ProbabilityModifier = 34 ; DestructionDelay = 2000 ; DestructionDelayVariance = 300 ; FX = INITIAL FX_DragonNapalmSpill ; OCL = FINAL OCL_DragonDebris ; FX = FINAL FX_DragonTankDeathExplosionFinal ; End ; Turret fly off death ; Behavior = SlowDeathBehavior ; DeathTypes = ALL -CRUSHED -SPLATTED ;; ProbabilityModifier = 25 ; DestructionDelay = 500 ; DestructionDelayVariance = 100 ; FX = INITIAL FX_GenericTankDeathEffect ; OCL = MIDPOINT OCL_DragonDebris ; FX = FINAL FX_GenericTankDeathExplosionFinal ; End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_13 ; ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedParticleSystem2 = Bone:Smoke RandomBone:Yes Psys:DragonTransitionFire ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_DragonDamageTransition End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 11.0 ; Height set to allow clear clipping of projectile stream GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Infa_ChinaVehicleInfernoCannon ; *** ART Parameters *** SelectPortrait = SNInferno_L ButtonImage = SNInferno UpgradeCameo1 = Upgrade_ChinaBlackNapalm ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = NVInferno Turret = Turret TurretPitch = TurretEL WeaponFireFXBone = PRIMARY Muzzle WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponLaunchBone = PRIMARY Muzzle End ConditionState = RUBBLE REALLYDAMAGED Model = NVInferno_D Turret = Turret TurretPitch = TurretEL WeaponFireFXBone = PRIMARY Muzzle WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponLaunchBone = PRIMARY Muzzle End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:InfernoCannon Side = ChinaInfantryGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY InfernoCannonGun End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY InfernoCannonGunUpgraded End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End BuildCost = 1100 BuildTime = 15.0 ;in seconds VisionRange = 180 ShroudClearingRange = 300 Prerequisites Object = Infa_ChinaWarFactory Object = Infa_ChinaPropagandaCenter End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ChinaVehicleInfernoCannonCommandSet ; *** AUDIO Parameters *** VoiceSelect = InfernoCannonVoiceSelect VoiceMove = InfernoCannonVoiceMove VoiceGuard = InfernoCannonVoiceMove VoiceAttack = InfernoCannonVoiceAttack SoundMoveStart = InfernoCannonMoveStart SoundMoveStartDamaged = InfernoCannonMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = InfernoCannonVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = NoSound VoiceCrush = InfernoCannonVoiceCrush VoiceEnter = InfernoCannonVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 240 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = VeterancyGainCreate ModuleTag_03 StartingLevel = VETERAN ScienceRequired = SCIENCE_ArtilleryTraining End Behavior = AIUpdateInterface ModuleTag_04 Turret TurretTurnRate = 100 TurretPitchRate = 100 AllowsPitch = Yes FirePitch = 45 ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = No NotWhileAttacking End Locomotor = SET_NORMAL InfernoLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 End ; A crushing defeat Behavior = FXListDie ModuleTag_06 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_07 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = SlowDeathBehavior ModuleTag_08 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_InfernoCannonDeathEffect End Behavior = TransitionDamageFX ModuleTag_09 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:-7 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = CreateCrateDie ModuleTag_10 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = WeaponSetUpgrade ModuleTag_11 TriggeredBy = Upgrade_ChinaBlackNapalm End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = DestroyDie ModuleTag_22 DeathTypes = NONE +CRUSHED +SPLATTED End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 15.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;Also called NukeCannon Object Infa_ChinaVehicleNukeLauncher ; *** ART Parameters *** SelectPortrait = SNNukeCannon_L ButtonImage = SNNukeCannon UpgradeCameo1 = Upgrade_ChinaNeutronShells ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 InitialRecoilSpeed = 120 MaxRecoilDistance = 8 RecoilSettleSpeed = 6 OkToChangeModelColor = Yes ExtraPublicBone = Turret01 DefaultConditionState Model = NVNukeCn WeaponLaunchBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = PRIMARY Muzzle WeaponRecoilBone = PRIMARY Barrel WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponRecoilBone = SECONDARY Barrel HideSubObject = TURRET01 ;Hide controlled turret ShowSubObject = TURRETFRONT TURRETBACK ;Show pack/unpack animated turret Turret = Turret01 TurretPitch = TurretEL End ConditionState = RUBBLE Model = NVNukeCn_D1 WeaponLaunchBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponRecoilBone = PRIMARY Barrel WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponRecoilBone = SECONDARY Barrel HideSubObject = TURRET01 ;Hide controlled turret ShowSubObject = TURRETFRONT TURRETBACK ;Show pack/unpack animated turret Turret = Turret01 TurretPitch = TurretEL End ;*** PACKED STATE -- ready to move *** ConditionState = MOVING Animation = NVNukeCn.NVNukeCn AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A ;Very long shot delay -- possibly moving AliasConditionState = BETWEEN_FIRING_SHOTS_A ;*** ConditionState = REALLYDAMAGED MOVING Model = NVNukeCn_D Animation = NVNukeCn_D.NVNukeCn_D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End AliasConditionState = REALLYDAMAGED MOVING BETWEEN_FIRING_SHOTS_A ;Very long shot delay -- possibly moving ;*** UNPACKING STATE -- preparing to fire *** ConditionState = UNPACKING Animation = NVNukeCn.NVNukeCn AnimationMode = MANUAL End AliasConditionState = UNPACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay ;*** ConditionState = REALLYDAMAGED UNPACKING Model = NVNukeCn_D Animation = NVNukeCn_D.NVNukeCn_D AnimationMode = MANUAL End AliasConditionState = REALLYDAMAGED UNPACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay ;*** PACKING STATE -- preparing to move *** ConditionState = PACKING Animation = NVNukeCn.NVNukeCn AnimationMode = MANUAL End AliasConditionState = PACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay ;*** ConditionState = REALLYDAMAGED PACKING Model = NVNukeCn_D Animation = NVNukeCn_D.NVNukeCn_D AnimationMode = MANUAL End AliasConditionState = REALLYDAMAGED PACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay ;*** DEPLOYED STATE -- ready to fire *** ConditionState = DEPLOYED Animation = NVNukeCn.NVNukeCn AnimationMode = ONCE Flags = START_FRAME_LAST TransitionKey = TRANS_FIRING_A HideSubObject = TURRETFRONT TURRETBACK ;Hide pack/unpack animated turret ShowSubObject = TURRET01 ;Show controlled turret End AliasConditionState = DEPLOYED FIRING_A AliasConditionState = DEPLOYED BETWEEN_FIRING_SHOTS_A AliasConditionState = DEPLOYED RELOADING_A AliasConditionState = DEPLOYED MOVING ConditionState = DEPLOYED REALLYDAMAGED Model = NVNukeCn_D Animation = NVNukeCn_D.NVNukeCn_D AnimationMode = ONCE Flags = START_FRAME_LAST TransitionKey = TRANS_FIRING_A HideSubObject = TURRETFRONT TURRETBACK ;Hide pack/unpack animated turret ShowSubObject = TURRET01 ;Show controlled turret End AliasConditionState = DEPLOYED REALLYDAMAGED FIRING_A AliasConditionState = DEPLOYED REALLYDAMAGED BETWEEN_FIRING_SHOTS_A AliasConditionState = DEPLOYED REALLYDAMAGED RELOADING_A AliasConditionState = DEPLOYED REALLYDAMAGED MOVING TrackMarks = EXTnkTrack.tga TreadAnimationRate = 4.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:NukeLauncher Side = ChinaInfantryGeneral EditorSorting = VEHICLE TransportSlotCount = 10 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY NukeCannonGun Weapon = SECONDARY NukeCannonNeutronWeapon AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI ShareWeaponReloadTime = Yes End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End BuildCost = 1600 BuildTime = 20.0 ;in seconds VisionRange = 180 ShroudClearingRange = 350 Prerequisites Object = Infa_ChinaWarFactory Object = Infa_ChinaPropagandaCenter Science = SCIENCE_NukeLauncher End ExperienceValue = 50 100 200 400 ;Experience point value at each level ExperienceRequired = 0 400 600 1000 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ChinaVehicleNukeCannonCommandSet ; *** AUDIO Parameters *** VoiceSelect = NukeCannonVoiceSelect VoiceMove = NukeCannonVoiceMove VoiceGuard = NukeCannonVoiceMove VoiceAttack = NukeCannonVoiceAttack SoundMoveStart = NukeCannonMoveStart SoundMoveStartDamaged = NukeCannonMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = NukeCannonVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = NukeCannonTurretMoveLoop VoiceEnter = NukeCannonVoiceMove Deploy = NukeCannonDeploy Undeploy = NukeCannonUnDeploy End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = VeterancyGainCreate ModuleTag_03 StartingLevel = VETERAN ScienceRequired = SCIENCE_ArtilleryTraining End Behavior = DeployStyleAIUpdate ModuleTag_04 Turret TurretTurnRate = 80 TurretPitchRate = 80 FirePitch = 0 ; Instead of aiming pitchwise at the target, it will aim here AllowsPitch = Yes RecenterTime = 5000 ; how long to wait during idle before recentering ControlledWeaponSlots = PRIMARY SECONDARY NaturalTurretAngle = 0 InitiallyDisabled = Yes End AutoAcquireEnemiesWhenIdle = No PackTime = 3333 UnpackTime = 3333 TurretsFunctionOnlyWhenDeployed = Yes TurretsMustCenterBeforePacking = Yes ManualDeployAnimations = Yes End Locomotor = SET_NORMAL ChinaNukeCannonLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 End Behavior = SlowDeathBehavior ModuleTag_06 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_BattleMasterExplosionOneFinal OCL = INITIAL OCL_RadiationFieldSmall OCL = MIDPOINT OCL_ChinaVehicleNukeCannonDie OCL = FINAL OCL_RadiationFieldSmall FX = FINAL FX_ChinaVehicleNukeCannonDeathExplosion End ; A crushing defeat Behavior = FXListDie ModuleTag_07 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_08 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_09 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_10 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition End Behavior = DestroyDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = ProductionUpdate ModuleTag_12 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Geometry = BOX GeometryMajorRadius = 32.0 GeometryMinorRadius = 10.0 GeometryHeight = 17.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Infa_ChinaTankGattling ; *** ART Parameters *** SelectPortrait = SNGatlingTank_L ButtonImage = SNGatlingTank ;UpgradeCameo1 = Upgrade_Nationalism UpgradeCameo1 = Upgrade_ChinaChainGuns ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = NVGattTank Animation = NVGattTank.NVGattTank AnimationMode = MANUAL Turret = TURRET01 TurretPitch = TURRETEL01 WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle End ConditionState = REALLYDAMAGED RUBBLE Model = NVGattTank_D End ;-----pristine attacking---------------------- ConditionState = ATTACKING Model = NVGattTank Animation = NVGattTank.NVGattTank AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_SLOW ATTACKING Model = NVGattTank Animation = NVGattTank.NVGattTank AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_MEAN ATTACKING Model = NVGattTank Animation = NVGattTank.NVGattTank AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_FAST ATTACKING Model = NVGattTank Animation = NVGattTank.NVGattTank AnimationMode = LOOP ParticleSysBone = Muzzle01 GattlingMuzzleSmoke AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst End ;-----damaged attacking---------------------- ConditionState REALLYDAMAGED ATTACKING Model = NVGattTank_D Animation = NVGattTank_D.NVGattTank_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate extemely sloowly End ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED ATTACKING Model = NVGattTank_D Animation = NVGattTank_D.NVGattTank_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED ATTACKING Model = NVGattTank_D Animation = NVGattTank_D.NVGattTank_D AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED ATTACKING Model = NVGattTank_D Animation = NVGattTank_D.NVGattTank_D AnimationMode = LOOP ParticleSysBone = Muzzle01 GattlingMuzzleSmoke AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. End ; ***DESIGN parameters *** DisplayName = OBJECT:GattlingTank Side = ChinaTankGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GattlingTankGun PreferredAgainst = PRIMARY AIRCRAFT Weapon = SECONDARY GattlingTankGunAir End ArmorSet Conditions = None Armor = AntiAirVehicle DamageFX = TankDamageFX End BuildCost = 800 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 360 Prerequisites Object = Infa_ChinaWarFactory End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Tank_ChinaVehicleGattlingTankCommandSet ; *** AUDIO Parameters *** VoiceSelect = GattlingTankVoiceSelect VoiceMove = GattlingTankVoiceMove VoiceGuard = GattlingTankVoiceMove VoiceAttack = GattlingTankVoiceAttack SoundMoveStart = GattlingTankMoveStart SoundMoveStartDamaged = GattlingTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = GattlingTankVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoopLoud VoiceCrush = GattlingTankVoiceCrush VoiceEnter = GattlingTankVoiceMove VoiceRapidFire = GattlingTankVoiceRapid End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 600 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY SECONDARY TurretTurnRate = 180 // turn rate, in degrees per sec TurretPitchRate = 180 AllowsPitch = Yes FiresWhileTurning = Yes NaturalTurretPitch = 45 ; this keeps it aimed half way between land and sky ; since you never know from whence cometh danger End AutoAcquireEnemiesWhenIdle = Yes MoodAttackCheckRate = 250 End Locomotor = SET_NORMAL GattlingTankLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 40.0 End ; Behavior = DestroyDie ; ;nothing ; End ; Just explode death Behavior = SlowDeathBehavior ModuleTag_05 ProbabilityModifier = 19 DestructionDelay = 200 DestructionDelayVariance = 100 SinkRate = 0.5 ; in Dist/Sec OCL = FINAL OCL_ChinaTankGattlingDebris FX = FINAL FX_GattlingExplosionOneFinal End Behavior = VeterancyGainCreate ModuleTag_23 StartingLevel = VETERAN End Behavior = CreateCrateDie ModuleTag_06 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_07 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = WeaponBonusUpgrade ModuleTag_22 TriggeredBy = Upgrade_ChinaChainGuns End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 15.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;China Supply Truck Object Infa_ChinaVehicleSupplyTruck ; *** ART Parameters *** SelectPortrait = SNSupplyTruck_L ButtonImage = SNSupplyTruck ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = NVSSUPPLYTK HideSubObject = Cargo01 End ConditionState = REALLYDAMAGED Model = NVSSUPPLYTK_D End ConditionState = RUBBLE Model = NVSSUPPLYTK_D End ConditionState = CARRYING ShowSubObject = Cargo01 End ConditionState = REALLYDAMAGED CARRYING Model = NVSSUPPLYTK_D ShowSubObject = Cargo01 End ConditionState = RUBBLE CARRYING Model = NVSSUPPLYTK_D ShowSubObject = Cargo01 End TrackMarks = EXTireTrack.tga LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 MidLeftRearTireBone = Tire03 MidRightRearTireBone = Tire04 LeftRearTireBone = Tire05 RightRearTireBone = Tire06 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide End ; ***DESIGN parameters *** DisplayName = OBJECT:SupplyTruck Side = ChinaInfantryGeneral EditorSorting = VEHICLE TransportSlotCount = 2 ;how many "slots" we take in a transport (0 == not transportable) BuildCost = 600 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Infa_ChinaSupplyCenter End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ChinaSupplyTruckCommandSet ; *** AUDIO Parameters *** VoiceSelect = SupplyTruckVoiceSelect VoiceMove = SupplyTruckVoiceMove VoiceAttack = NoSound SoundMoveStart = SupplyTruckMoveStart SoundMoveStartDamaged = SupplyTruckMoveStart UnitSpecificSounds VoiceCreate = SupplyTruckVoiceCreate TruckLandingSound = NoSound TruckPowerslideSound = NoSound VoiceSupply = SupplyTruckVoiceSupply VoiceCrush = SupplyTruckVoiceCrush VoiceEnter = SupplyTruckVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT ;@todo lorenzen removed the CAN_ATTACK from the chinasupplytruck... ok? KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE HARVESTER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 600 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = SupplyTruckAIUpdate ModuleTag_03 MaxBoxes = 4 SupplyCenterActionDelay = 400 ; ms for whole thing (one transaction) SupplyWarehouseActionDelay = 1000 ; ms per box (many small transactions) SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan) SuppliesDepletedVoice = SupplyTruckVoiceSuppliesDepleted End Locomotor = SET_NORMAL SupplyTruckLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End ExperienceValue = 50 50 50 50 ;Experience point value at each level Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 200 DestructionDelayVariance = 100 FX = FINAL FX_SupplyTruckExplosionOneFinal OCL = FINAL OCL_ChinaSupplyTruckDeathEffect End Behavior = FXListDie ModuleTag_06 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_07 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_ChinaSupplyTruck_CrushEffect End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition End Behavior = FlammableUpdate ModuleTag_10 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End ; A crushing defeat Behavior = DestroyDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = CreateCrateDie ModuleTag_12 CrateData = SalvageCrateData End Geometry = BOX GeometryMajorRadius = 17.0 GeometryMinorRadius = 7.0 GeometryHeight = 14.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;China Construction Dozer Object Infa_ChinaVehicleDozer ; *** ART Parameters *** SelectPortrait = SNDozer_L ButtonImage = SNDozer ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = NVCONSTDOZ_A ParticleSysBone = EXHAUST01 DozerSmokeLight End ConditionState = MOVING ParticleSysBone = EXHAUST01 DozerSmokeHeavy End ConditionState = FIRING_A MOVING PREATTACK_A Model = NVCONSTDOZ_A Animation = NVCONSTDOZ_A.NVCONSTDOZ_A AnimationMode = ONCE ParticleSysBone = EXHAUST01 DozerSmokeHeavy ParticleSysBone = DIRTFX01 DozerDirtFall End AliasConditionState = ATTACKING FIRING_A MOVING ConditionState = REALLYDAMAGED RUBBLE Model = NVCONSTDOZ_AD End ConditionState = MOVING REALLYDAMAGED RUBBLE Model = NVCONSTDOZ_AD ParticleSysBone = EXHAUST01 DozerSmokeHeavy End ConditionState = FIRING_A MOVING PREATTACK_A REALLYDAMAGED RUBBLE Model = NVCONSTDOZ_AD Animation = NVCONSTDOZ_AD.NVCONSTDOZ_AD AnimationMode = ONCE ParticleSysBone = EXHAUST01 DozerSmokeHeavy ParticleSysBone = DIRTFX01 DozerDirtFall End AliasConditionState = ATTACKING FIRING_A MOVING REALLYDAMAGED RUBBLE TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:Dozer Side = ChinaInfantryGeneral EditorSorting = VEHICLE TransportSlotCount = 5 ;how many "slots" we take in a transport (0 == not transportable) BuildCost = 1000 BuildTime = 5.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 WeaponSet Conditions = None Weapon = PRIMARY None End WeaponSet Conditions = MINE_CLEARING_DETAIL Weapon = PRIMARY DozerMineDisarmingWeapon End ArmorSet Conditions = None Armor = DozerArmor ;Special Explosion-Proof Armor DamageFX = TankDamageFX End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Infa_ChinaDozerCommandSet ; *** AUDIO Parameters *** VoiceSelect = DozerChinaVoiceSelect VoiceMove = DozerChinaVoiceMove VoiceEnter = DozerChinaVoiceMove VoiceTaskComplete = DozerChinaVoiceBuildComplete SoundMoveStart = DozerChinaMoveStart SoundMoveStartDamaged = DozerChinaMoveStart UnitSpecificSounds VoiceCreate = DozerChinaVoiceCreate VoiceCrush = DozerChinaVoiceCrush VoiceNoBuild = DozerChinaVoiceBuildNot VoiceRepair = DozerChinaVoiceRepair VoiceDisarm = DozerChinaVoiceClearMine VoiceEnter = DozerChinaVoiceMove VoiceBuildResponse = DozerChinaVoiceBuild End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DOZER Body = ActiveBody ModuleTag_02 MaxHealth = 250.0 InitialHealth = 250.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 500 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = DozerAIUpdate ModuleTag_03 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second BoredTime = 5000 ; in milliseconds BoredRange = 150 ; when bored, we look this far away to do something ; the only "enemies" that workers can acquire are mines, to be disarmed... AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL ChinaVehicleDozerLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 75.0 End Behavior = StealthDetectorUpdate ModuleTag_05 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. ExtraRequiredKindOf = MINE ; we can only detect MINES, not other stealthed things End Behavior = TransitionDamageFX ModuleTag_06 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_07 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 100 DestructionDelay = 1500 DestructionDelayVariance = 600 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_ChinaDozerExplode FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = CreateCrateDie ModuleTag_09 CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = FXListDie ModuleTag_22 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = DestroyDie ModuleTag_23 DeathTypes = NONE +CRUSHED +SPLATTED End Geometry = BOX GeometryMajorRadius = 17.0;new radius to align mine sweeping position ;GeometryMajorRadius = 21.0;old radius GeometryMinorRadius = 10.0 GeometryHeight = 15.0 GeometryIsSmall = NO Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Infa_ChinaTankECM ; *** ART Parameters *** SelectPortrait = SNbanshee_L ButtonImage = SNbanshee Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = WEAPONA01 DefaultConditionState Model = NVBANSHEE Turret = TURRET01 End ConditionState = REALLYDAMAGED Model = NVBANSHEE_D End ConditionState = RUBBLE Model = NVBANSHEE_D1 Turret = None End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 4.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:ECMTank Side = ChinaInfantryGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY ECMTankVehicleDisabler End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End BuildCost = 900 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 360 Prerequisites Object = Infa_ChinaWarFactory Object = Infa_ChinaPropagandaCenter End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ChinaVehicleECMTankCommandSet ; *** AUDIO Parameters *** VoiceSelect = FrequencyJammerVoiceSelect VoiceMove = FrequencyJammerVoiceMove VoiceGuard = FrequencyJammerVoiceMove VoiceAttack = FrequencyJammerVoiceAttack SoundMoveStart = MicrowaveTankMoveStart SoundMoveStartDamaged = MicrowaveTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = FrequencyJammerVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoopLoud VoiceCrush = NoSound VoiceEnter = FrequencyJammerVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 600 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY TurretTurnRate = 180 // turn rate, in degrees per sec FiresWhileTurning = No MinIdleScanInterval = 0 ; in milliseconds MaxIdleScanInterval = 0 ; in milliseconds RecenterTime = 0 MinIdleScanAngle = 180 ; in degrees off the natural turret angle MaxIdleScanAngle = 180 ; in degrees off the natural turret angle End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL GattlingTankLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 40.0 End ; Behavior = DestroyDie ; ;nothing ; End ; Just explode death Behavior = SlowDeathBehavior ModuleTag_05 ProbabilityModifier = 19 DestructionDelay = 200 DestructionDelayVariance = 100 SinkRate = 0.5 ; in Dist/Sec OCL = FINAL OCL_ChinaTankECMDebris FX = FINAL FX_GattlingExplosionOneFinal End Behavior = CreateCrateDie ModuleTag_06 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_07 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = CommandButtonHuntUpdate ModuleTag_22 ; allows use of command button hunt script with this unit. End Behavior = FireWeaponUpdate ModuleTag_23 Weapon = ECMTankMissileJammer ExclusiveWeaponDelay = 1000 ; If we fire a real weapon, we turn this module off for this long End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 15.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Infa_ChinaCommandCenter ; *** ART Parameters *** ; ------------ the main building itself ----------------- SelectPortrait = SNComCentr_L ButtonImage = SNComCentr Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; DAY ************************************ DefaultConditionState Model = NBConYardIN Animation = NBConYardIN.NBConYardIN AnimationMode = LOOP End ConditionState = DAMAGED Model = NBConYardI_D Animation = NBConYardI_D.NBConYardI_D AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE Model = NBConYardI_E Animation = NBConYardI_E.NBConYardI_E AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ;NIGHT *********************************** ConditionState = NIGHT Model = NBConYardI_N Animation = NBConYardI_N.NBConYardI_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = NBConYardI_DN Animation = NBConYardI_DN.NBConYardI_DN AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBConYardI_EN Animation = NBConYardI_EN.NBConYardI_EN AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ;SNOW ************************************* ConditionState = SNOW Model = NBConYardI_S Animation = NBConYardI_S.NBConYardI_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = NBConYardI_DS Animation = NBConYardI_DS.NBConYardI_DS AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBConYardI_ES Animation = NBConYardI_ES.NBConYardI_ES AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ;NIGHT SNOW ***************************** ConditionState = NIGHT SNOW Model = NBConYardI_NS Animation = NBConYardI_NS.NBConYardI_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = NBConYardI_DNS Animation = NBConYardI_DNS.NBConYardI_DNS AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBConYardI_ENS Animation = NBConYardI_ENS.NBConYardI_ENS AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBConYardI Animation = NBConYardI.NBConYardI AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBConYardI_D Animation = NBConYardI_D.NBConYardI_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBConYardI_E Animation = NBConYardI_E.NBConYardI_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBConYardI_N Animation = NBConYardI_N.NBConYardI_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBConYardI_DN Animation = NBConYardI_DN.NBConYardI_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBConYardI_EN Animation = NBConYardI_EN.NBConYardI_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBConYardI_S Animation = NBConYardI_S.NBConYardI_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBConYardI_DS Animation = NBConYardI_DS.NBConYardI_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBConYardI_ES Animation = NBConYardI_ES.NBConYardI_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBConYardI_NS Animation = NBConYardI_NS.NBConYardI_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBConYardI_DNS Animation = NBConYardI_DNS.NBConYardI_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBConYardI_ENS Animation = NBConYardI_ENS.NBConYardI_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ Radar Extending ----------------- Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = None End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED RUBBLE ConditionState = RADAR_EXTENDING RADAR_UPGRADED Model = NBConYard_A2 Animation = NBConYard_A2.NBConYard_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = RADAR_EXTENDING DAMAGED RADAR_UPGRADED Model = NBConYard_A2D Animation = NBConYard_A2D.NBConYard_A2D AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = RADAR_EXTENDING REALLYDAMAGED RUBBLE RADAR_UPGRADED Model = NBConYard_A2E Animation = NBConYard_A2E.NBConYard_A2E AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = RADAR_UPGRADED Model = NBConYard_A2 Animation = NBConYard_A2.NBConYard_A2 AnimationMode = MANUAL Flags = START_FRAME_LAST End ConditionState = RADAR_UPGRADED DAMAGED Model = NBConYard_A2D Animation = NBConYard_A2D.NBConYard_A2D AnimationMode = MANUAL Flags = START_FRAME_LAST End ConditionState = RADAR_UPGRADED REALLYDAMAGED RUBBLE Model = NBConYard_A2E Animation = NBConYard_A2E.NBConYard_A2E AnimationMode = MANUAL Flags = START_FRAME_LAST End ConditionState = RADAR_UPGRADED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A2 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = RADAR_UPGRADED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBConYard_A2D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = RADAR_UPGRADED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = NBConYard_A2E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End End PlacementViewAngle = -135 ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A4 Animation = NBConYard_A4.NBConYard_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A4N Animation = NBConYard_A4N.NBConYard_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A4S Animation = NBConYard_A4S.NBConYard_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A4SN Animation = NBConYard_A4SN.NBConYard_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBConYard_A4 Animation = NBConYard_A4.NBConYard_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBConYard_A4N Animation = NBConYard_A4N.NBConYard_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBConYard_A4S Animation = NBConYard_A4S.NBConYard_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBConYard_A4SN Animation = NBConYard_A4SN.NBConYard_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = UP_DAY DOWN_DEFAULT Model = NBConYard_A4 Animation = NBConYard_A4.NBConYard_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBConYard_A4N Animation = NBConYard_A4N.NBConYard_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBConYard_A4S Animation = NBConYard_A4S.NBConYard_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBConYard_A4SN Animation = NBConYard_A4SN.NBConYard_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBConYard_A6 Animation = NBConYard_A6.NBConYard_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = SmokeM01 BuildUpSmokeChina ParticleSysBone = SmokeS02 BuildUpSmokeChina ParticleSysBone = SparksM01 BuildUpSmokeChina ParticleSysBone = SparksM02 BuildUpSmokeChina ParticleSysBone = SparksS01 BuildUpSmokeChina ParticleSysBone = SparksS02 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBConYard_A6N Animation = NBConYard_A6N.NBConYard_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = SmokeM01 BuildUpSmokeChina ParticleSysBone = SmokeS02 BuildUpSmokeChina ParticleSysBone = SparksM01 BuildUpSmokeChina ParticleSysBone = SparksM02 BuildUpSmokeChina ParticleSysBone = SparksS01 BuildUpSmokeChina ParticleSysBone = SparksS02 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBConYard_A6S Animation = NBConYard_A6S.NBConYard_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = SmokeM01 BuildUpSnowSmoke ParticleSysBone = SmokeS02 BuildUpSnowSmoke ParticleSysBone = SparksM01 BuildUpSnowSmoke ParticleSysBone = SparksM02 BuildUpSnowSmoke ParticleSysBone = SparksS01 BuildUpSnowSmoke ParticleSysBone = SparksS02 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBConYard_A6SN Animation = NBConYard_A6SN.NBConYard_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = SmokeM01 BuildUpNightSnowSmoke ParticleSysBone = SmokeS02 BuildUpNightSnowSmoke ParticleSysBone = SparksM01 BuildUpNightSnowSmoke ParticleSysBone = SparksM02 BuildUpNightSnowSmoke ParticleSysBone = SparksS01 BuildUpNightSnowSmoke ParticleSysBone = SparksS02 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBConYard_A6 Animation = NBConYard_A6.NBConYard_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBConYard_A6N Animation = NBConYard_A6N.NBConYard_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBConYard_A6S Animation = NBConYard_A6S.NBConYard_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBConYard_A6SN Animation = NBConYard_A6SN.NBConYard_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBConYard_A6 Animation = NBConYard_A6.NBConYard_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBConYard_A6N Animation = NBConYard_A6N.NBConYard_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBConYard_A6S Animation = NBConYard_A6S.NBConYard_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBConYard_A6SN Animation = NBConYard_A6SN.NBConYard_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A5 Animation = NBConYard_A5.NBConYard_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A5N Animation = NBConYard_A5N.NBConYard_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A5S Animation = NBConYard_A5S.NBConYard_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A5SN Animation = NBConYard_A5SN.NBConYard_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBConYard_AB Animation = NBConYard_AB.NBConYard_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBConYard_ABN Animation = NBConYard_ABN.NBConYard_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBConYard_ABS Animation = NBConYard_ABS.NBConYard_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBConYard_ABSN Animation = NBConYard_ABSN.NBConYard_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBConYard_AB Animation = NBConYard_AB.NBConYard_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBConYard_ABN Animation = NBConYard_ABN.NBConYard_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBConYard_ABS Animation = NBConYard_ABS.NBConYard_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBConYard_ABSN Animation = NBConYard_ABSN.NBConYard_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ----------------- the factory door ------------------- Draw = W3DModelDraw ModuleTag_06 DefaultConditionState Model = NBConYard_A7 Animation = NBConYard_A7.NBConYard_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = DAMAGED Model = NBConYard_A7D Animation = NBConYard_A7D.NBConYard_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = NBConYard_A7D Animation = NBConYard_A7D.NBConYard_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = NBConYard_A7 Animation = NBConYard_A7.NBConYard_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = NIGHT SNOW DOOR_1_OPENING ConditionState = DOOR_1_OPENING DAMAGED Model = NBConYard_A7D Animation = NBConYard_A7D.NBConYard_A7D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = NBConYard_A7D Animation = NBConYard_A7D.NBConYard_A7D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_CLOSING Model = NBConYard_A7 Animation = NBConYard_A7.NBConYard_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DOOR_1_CLOSING ConditionState = DOOR_1_CLOSING DAMAGED Model = NBConYard_A7D Animation = NBConYard_A7D.NBConYard_A7D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_CLOSING DAMAGED ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = NBConYard_A7D Animation = NBConYard_A7D.NBConYard_A7D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_OPEN Model = NBConYard_A7 Animation = NBConYard_A7.NBConYard_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = NBConYard_A7D Animation = NBConYard_A7D.NBConYard_A7D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN DAMAGED ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = NBConYard_A7D Animation = NBConYard_A7D.NBConYard_A7D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBConYard_A7D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBConYard_A7D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; Officers club flag Draw = W3DModelDraw ModuleTag_OfficersClub OkToChangeModelColor = No ConditionState = NONE Model = None End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE ConditionState = PREORDER Model = OCFlagCHA Animation = OCFlagCHA.OCFlagCHA AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ; ConditionState = PREORDER DAMAGED ; Model = OCFlagCHA_D ; Animation = OCFlagCHA_D.OCFlagCHA_D ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End ; ConditionState = PREORDER REALLYDAMAGED ; Model = OCFlagCHA_E ; Animation = OCFlagCHA_E.OCFlagCHA_E ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:CommandCenter Side = ChinaInfantryGeneral EditorSorting = STRUCTURE BuildCost = 2000 BuildTime = 45.0 ; in seconds EnergyProduction = 0 ;Command center should be free CommandSet = Infa_ChinaCommandCenterCommandSet VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 300 ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = CommandCenterChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE COMMANDCENTER SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_07 MaxHealth = 5000.0 InitialHealth = 5000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 5200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = PreorderCreate ModuleTag_PreorderCreate End Behavior = ProductionUpdate ModuleTag_08 NumDoorAnimations = 1 DoorOpeningTime = 3000 ;in mSeconds DoorWaitOpenTime = 3000 ;in mSeconds DoorCloseTime = 3000 ;in mSeconds ConstructionCompleteDuration = 1500 ;in mSeconds End Behavior = DefaultProductionExitUpdate ModuleTag_09 UnitCreatePoint = X:-18.0 Y: 40.0 Z:0.0 NaturalRallyPoint = X: 60.0 Y: 40.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RadarUpdate ModuleTag_10 RadarExtendTime = 4000 ;in mSeconds End Behavior = DestroyDie ModuleTag_11 ;nothing End Behavior = CreateObjectDie ModuleTag_12 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_13 DeathFX = FX_StructureMediumDeath End Behavior = RadarUpgrade ModuleTag_14 TriggeredBy = Upgrade_ChinaRadar End Behavior = GenerateMinefieldBehavior ModuleTag_15 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = OCLSpecialPower ModuleTag_16 SpecialPowerTemplate = SuperweaponNapalmStrike OCL = SUPERWEAPON_NapalmStrike End Behavior = OCLSpecialPower ModuleTag_17 SpecialPowerTemplate = SuperweaponArtilleryBarrage UpgradeOCL = SCIENCE_ArtilleryBarrage3 SUPERWEAPON_ArtilleryBarrage3 UpgradeOCL = SCIENCE_ArtilleryBarrage2 SUPERWEAPON_ArtilleryBarrage2 OCL = SUPERWEAPON_ArtilleryBarrage1 CreateLocation = CREATE_AT_EDGE_FARTHEST_FROM_TARGET End Behavior = OCLSpecialPower ModuleTag_18 SpecialPowerTemplate = SuperweaponClusterMines OCL = SUPERWEAPON_ClusterMines CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_19 SpecialPowerTemplate = SuperweaponEMPPulse OCL = SUPERWEAPON_EMPPulse CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = CashHackSpecialPower ModuleTag_20 SpecialPowerTemplate = SuperweaponCashHack UpgradeMoneyAmount = SCIENCE_CashHack3 4000 UpgradeMoneyAmount = SCIENCE_CashHack2 2000 MoneyAmount = 1000 ; amount of money to steal End Behavior = OCLSpecialPower ModuleTag_21 SpecialPowerTemplate = SuperweaponEmergencyRepair UpgradeOCL = SCIENCE_EmergencyRepair3 SUPERWEAPON_RepairVehicles3 UpgradeOCL = SCIENCE_EmergencyRepair2 SUPERWEAPON_RepairVehicles2 OCL = SUPERWEAPON_RepairVehicles1 CreateLocation = CREATE_AT_LOCATION End Behavior = OCLSpecialPower ModuleTag_22;this has been removed from everywhere but the ChinaAirfield in CHI05 SpecialPowerTemplate = Early_SuperweaponChinaCarpetBomb OCL = SUPERWEAPON_ChinaCarpetBomb CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = FlammableUpdate ModuleTag_23 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_24 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = Infa_ChinaCommandCenterCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Behavior = OCLSpecialPower ModuleTag_27 SpecialPowerTemplate = Infa_SuperweaponInfantryParadrop UpgradeOCL = Infa_SCIENCE_InfantryParadrop3 Infa_SUPERWEAPON_Paradrop3 UpgradeOCL = Infa_SCIENCE_InfantryParadrop2 Infa_SUPERWEAPON_Paradrop2 OCL = Infa_SUPERWEAPON_Paradrop1 CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE OCLAdjustPositionToPassable = Yes ;Like RA2, shift target to passable cell so we don't land in water and on cliffs. End Behavior = GrantUpgradeCreate ModuleTag_28 UpgradeToGrant = Upgrade_Nationalism ExemptStatus = UNDER_CONSTRUCTION End Behavior = OCLSpecialPower ModuleTag_29 SpecialPowerTemplate = Early_SuperweaponFrenzy UpgradeOCL = Early_SCIENCE_Frenzy3 SUPERWEAPON_Frenzy3 UpgradeOCL = Early_SCIENCE_Frenzy2 SUPERWEAPON_Frenzy2 OCL = SUPERWEAPON_Frenzy1 CreateLocation = CREATE_AT_LOCATION End Geometry = BOX FactoryExitWidth = 25 GeometryMajorRadius = 60.0 GeometryMinorRadius = 63.0 GeometryHeight = 36.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Infa_ChinaAirfield ; *** ART Parameters *** SelectPortrait = SNAirfield_L ButtonImage = SNAirfield Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = Runway1Parking1 ExtraPublicBone = Runway1Parking2 ExtraPublicBone = Runway2Parking1 ExtraPublicBone = Runway2Parking2 ExtraPublicBone = Runway1Park1Han ExtraPublicBone = Runway1Park2Han ExtraPublicBone = Runway2Park1Han ExtraPublicBone = Runway2Park2Han ExtraPublicBone = Runway1Prep1 ExtraPublicBone = Runway1Prep2 ExtraPublicBone = Runway2Prep1 ExtraPublicBone = Runway2Prep2 ExtraPublicBone = RunwayStart1 ExtraPublicBone = RunwayStart2 ExtraPublicBone = RunwayEnd1 ExtraPublicBone = RunwayEnd2 ExtraPublicBone = HeliPark01 ; ------------- DAY ------------------ DefaultConditionState Model = NBAirfield Animation = NBAirfield.NBAirfield AnimationMode = LOOP End ConditionState = DAMAGED Model = NBAirfield_D Animation = NBAirfield_D.NBAirfield_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = NBAirfield_E Animation = NBAirfield_E.NBAirfield_E AnimationMode = LOOP End ; ------------- SNOW ------------------ ConditionState = SNOW Model = NBAirfield_S Animation = NBAirfield_S.NBAirfield_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = NBAirfield_DS Animation = NBAirfield_DS.NBAirfield_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBAirfield_ES Animation = NBAirfield_ES.NBAirfield_ES AnimationMode = LOOP End ; ------------- NIGHT ------------------ ConditionState = NIGHT Model = NBAirfield_N Animation = NBAirfield_N.NBAirfield_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = NBAirfield_DN Animation = NBAirfield_DN.NBAirfield_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBAirfield_EN Animation = NBAirfield_EN.NBAirfield_EN AnimationMode = LOOP End ; ------------- NIGHT SNOW------------------ ConditionState = NIGHT SNOW Model = NBAirfield_NS Animation = NBAirfield_NS.NBAirfield_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = NBAirfield_DNS Animation = NBAirfield_DNS.NBAirfield_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBAirfield_ENS Animation = NBAirfield_ENS.NBAirfield_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield Animation = NBAirfield.NBAirfield AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBAirfield_D Animation = NBAirfield_D.NBAirfield_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBAirfield_E Animation = NBAirfield_E.NBAirfield_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBAirfield_N Animation = NBAirfield_N.NBAirfield_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBAirfield_DN Animation = NBAirfield_DN.NBAirfield_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBAirfield_EN Animation = NBAirfield_EN.NBAirfield_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBAirfield_S Animation = NBAirfield_S.NBAirfield_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBAirfield_DS Animation = NBAirfield_DS.NBAirfield_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBAirfield_ES Animation = NBAirfield_ES.NBAirfield_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBAirfield_NS Animation = NBAirfield_NS.NBAirfield_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBAirfield_DNS Animation = NBAirfield_DNS.NBAirfield_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBAirfield_ENS Animation = NBAirfield_ENS.NBAirfield_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = None End End ; ----------------- door #1 ------------------- Draw = W3DModelDraw ModuleTag_03 DefaultConditionState Model = NBAirfield_A9 Animation = NBAirfield_A9.NBAirfield_A9 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = SNOW NIGHT AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = NBAirfield_A9 Animation = NBAirfield_A9.NBAirfield_A9 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = SNOW NIGHT DOOR_1_OPENING AliasConditionState = NIGHT DAMAGED DOOR_1_OPENING AliasConditionState = SNOW DAMAGED DOOR_1_OPENING AliasConditionState = SNOW NIGHT DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_1_OPENING ConditionState = DOOR_1_CLOSING Model = NBAirfield_A9 Animation = NBAirfield_A9.NBAirfield_A9 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = SNOW NIGHT DOOR_1_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_1_CLOSING AliasConditionState = SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = SNOW NIGHT DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_1_CLOSING ConditionState = DOOR_1_WAITING_OPEN Model = NBAirfield_A9 Animation = NBAirfield_A9.NBAirfield_A9 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = SNOW NIGHT DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A9 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBAirfield_A9 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBAirfield_A9 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- door #2 ------------------- ; this one has no door #2... (srj) ; Draw = W3DModelDraw ; DefaultConditionState ; Model = NBAirfield_A10 ; Animation = NBAirfield_A10.NBAirfield_A10 ; AnimationMode = MANUAL ; Flags = START_FRAME_FIRST ; End ; ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ; Model = NBAirfield_A10 ; Flags = START_FRAME_FIRST ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End ; ConditionState = DOOR_2_OPENING ; Model = NBAirfield_A10 ; Animation = NBAirfield_A10.NBAirfield_A10 ; AnimationMode = ONCE ; Flags = START_FRAME_FIRST ; End ; ConditionState = DOOR_2_CLOSING ; Model = NBAirfield_A10 ; Animation = NBAirfield_A10.NBAirfield_A10 ; AnimationMode = ONCE_BACKWARDS ; Flags = START_FRAME_LAST ; End ; ConditionState = DOOR_2_WAITING_OPEN ; Model = NBAirfield_A10 ; Animation = NBAirfield_A10.NBAirfield_A10 ; AnimationMode = MANUAL ; Flags = START_FRAME_LAST ; End ; End ; ----------------- door #3 ------------------- Draw = W3DModelDraw ModuleTag_04 DefaultConditionState Model = NBAirfield_A10 Animation = NBAirfield_A10.NBAirfield_A10 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = SNOW NIGHT AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState = DOOR_3_OPENING Model = NBAirfield_A10 Animation = NBAirfield_A10.NBAirfield_A10 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_3_OPENING AliasConditionState = SNOW DOOR_3_OPENING AliasConditionState = SNOW NIGHT DOOR_3_OPENING AliasConditionState = NIGHT DAMAGED DOOR_3_OPENING AliasConditionState = SNOW DAMAGED DOOR_3_OPENING AliasConditionState = SNOW NIGHT DAMAGED DOOR_3_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_3_OPENING ConditionState = DOOR_3_CLOSING Model = NBAirfield_A10 Animation = NBAirfield_A10.NBAirfield_A10 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_3_CLOSING AliasConditionState = SNOW DOOR_3_CLOSING AliasConditionState = SNOW NIGHT DOOR_3_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_3_CLOSING AliasConditionState = SNOW DAMAGED DOOR_3_CLOSING AliasConditionState = SNOW NIGHT DAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_3_CLOSING ConditionState = DOOR_3_WAITING_OPEN Model = NBAirfield_A10 Animation = NBAirfield_A10.NBAirfield_A10 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_3_WAITING_OPEN AliasConditionState = SNOW DOOR_3_WAITING_OPEN AliasConditionState = SNOW NIGHT DOOR_3_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_3_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_3_WAITING_OPEN AliasConditionState = SNOW NIGHT DAMAGED DOOR_3_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A10 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBAirfield_A10 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBAirfield_A10 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- door #4 ------------------- Draw = W3DModelDraw ModuleTag_05 DefaultConditionState Model = NBAirfield_A8 Animation = NBAirfield_A8.NBAirfield_A8 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = SNOW NIGHT AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState = DOOR_4_OPENING Model = NBAirfield_A8 Animation = NBAirfield_A8.NBAirfield_A8 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_4_OPENING AliasConditionState = SNOW DOOR_4_OPENING AliasConditionState = SNOW NIGHT DOOR_4_OPENING AliasConditionState = NIGHT DAMAGED DOOR_4_OPENING AliasConditionState = SNOW DAMAGED DOOR_4_OPENING AliasConditionState = SNOW NIGHT DAMAGED DOOR_4_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_OPENING AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_4_OPENING ConditionState = DOOR_4_CLOSING Model = NBAirfield_A8 Animation = NBAirfield_A8.NBAirfield_A8 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_4_CLOSING AliasConditionState = SNOW DOOR_4_CLOSING AliasConditionState = SNOW NIGHT DOOR_4_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_4_CLOSING AliasConditionState = SNOW DAMAGED DOOR_4_CLOSING AliasConditionState = SNOW NIGHT DAMAGED DOOR_4_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_CLOSING AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_4_CLOSING ConditionState = DOOR_4_WAITING_OPEN Model = NBAirfield_A8 Animation = NBAirfield_A8.NBAirfield_A8 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_4_WAITING_OPEN AliasConditionState = SNOW DOOR_4_WAITING_OPEN AliasConditionState = SNOW NIGHT DOOR_4_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_4_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_4_WAITING_OPEN AliasConditionState = SNOW NIGHT DAMAGED DOOR_4_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBAirfield_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBAirfield_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_06 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A4 Animation = NBAirfield_A4.NBAirfield_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A4N Animation = NBAirfield_A4N.NBAirfield_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A4S Animation = NBAirfield_A4S.NBAirfield_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A4SN Animation = NBAirfield_A4SN.NBAirfield_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBAirfield_A4 Animation = NBAirfield_A4.NBAirfield_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBAirfield_A4N Animation = NBAirfield_A4N.NBAirfield_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBAirfield_A4S Animation = NBAirfield_A4S.NBAirfield_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBAirfield_A4SN Animation = NBAirfield_A4SN.NBAirfield_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBAirfield_A4 Animation = NBAirfield_A4.NBAirfield_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBAirfield_A4N Animation = NBAirfield_A4N.NBAirfield_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBAirfield_A4S Animation = NBAirfield_A4S.NBAirfield_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBAirfield_A4SN Animation = NBAirfield_A4SN.NBAirfield_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBAirfield_A6 Animation = NBAirfield_A6.NBAirfield_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBAirfield_A6N Animation = NBAirfield_A6N.NBAirfield_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBAirfield_A6S Animation = NBAirfield_A6S.NBAirfield_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBAirfield_A6SN Animation = NBAirfield_A6SN.NBAirfield_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBAirfield_A6 Animation = NBAirfield_A6.NBAirfield_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBAirfield_A6N Animation = NBAirfield_A6N.NBAirfield_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBAirfield_A6S Animation = NBAirfield_A6S.NBAirfield_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBAirfield_A6SN Animation = NBAirfield_A6SN.NBAirfield_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBAirfield_A6 Animation = NBAirfield_A6.NBAirfield_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBAirfield_A6N Animation = NBAirfield_A6N.NBAirfield_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBAirfield_A6S Animation = NBAirfield_A6S.NBAirfield_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBAirfield_A6SN Animation = NBAirfield_A6SN.NBAirfield_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_08 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A5 Animation = NBAirfield_A5.NBAirfield_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A5N Animation = NBAirfield_A5N.NBAirfield_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A5S Animation = NBAirfield_A5S.NBAirfield_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A5SN Animation = NBAirfield_A5SN.NBAirfield_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBAirfield_AB Animation = NBAirfield_AB.NBAirfield_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBAirfield_ABN Animation = NBAirfield_ABN.NBAirfield_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBAirfield_ABS Animation = NBAirfield_ABS.NBAirfield_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBAirfield_ABSN Animation = NBAirfield_ABSN.NBAirfield_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBAirfield_AB Animation = NBAirfield_AB.NBAirfield_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBAirfield_ABN Animation = NBAirfield_ABN.NBAirfield_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBAirfield_ABS Animation = NBAirfield_ABS.NBAirfield_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBAirfield_ABSN Animation = NBAirfield_ABSN.NBAirfield_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:Airfield Side = ChinaInfantryGeneral EditorSorting = STRUCTURE Prerequisites Object = Infa_ChinaSupplyCenter End BuildCost = 1000 BuildTime = 30.0 ; in seconds EnergyProduction = -1 CommandSet = Infa_ChinaAirfieldCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 150 150 150 150 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = AirfieldChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_AIRFIELD SCORE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY FS_FACTORY AUTO_RALLYPOINT Body = StructureBody ModuleTag_09 MaxHealth = 1500.0 InitialHealth = 1500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1700 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ParkingPlaceBehavior ModuleTag_10 HealAmountPerSecond = 10 NumRows = 2 NumCols = 2 HasRunways = Yes ApproachHeight = 50 ParkInHangars = Yes End Behavior = ProductionUpdate ModuleTag_11 NumDoorAnimations = 4 DoorOpeningTime = 2000 ;in mSeconds DoorWaitOpenTime = 3000 ;in mSeconds DoorCloseTime = 2000 ;in mSeconds ConstructionCompleteDuration = 1000 ;in mSeconds End Behavior = DestroyDie ModuleTag_12 ;nothing End Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_ABPowerPlantExplode End Behavior = FXListDie ModuleTag_14 DeathFX = FX_StructureMediumDeath End Behavior = GenerateMinefieldBehavior ModuleTag_15 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = FlammableUpdate ModuleTag_17 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_18 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = Infa_ChinaAirfieldCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Geometry = BOX GeometryMajorRadius = 83.0 GeometryMinorRadius = 76.0 GeometryHeight = 25.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;China Neutron Missile, NukeSilo, Nuke Silo Object Infa_ChinaNuclearMissileLauncher ; *** ART Parameters *** SelectPortrait = SNNukeMisl_L ButtonImage = SNNukeMisl SelectPortrait = SNNukeMisl_L ButtonImage = SNNukeMisl Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = NBNMissle End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End ConditionState = DAMAGED Model = NBNMissle_D ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = NBNMissle_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = AWAITING_CONSTRUCTION Model = None End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBNMissle Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBNMissle_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = NBNMissle_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = DOOR_1_OPENING Model = NBNMissle_A2 Animation = NBNMissle_A2.NBNMissle_A2 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_WAITING_OPEN Model = NBNMissle_A2 Animation = NBNMissle_A2.NBNMissle_A2 AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE Model = NBNMissle_A3 Animation = NBNMissle_A3.NBNMissle_A3 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos End ConditionState = DOOR_1_CLOSING Model = NBNMissle_A3 Animation = NBNMissle_A3.NBNMissle_A3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End ConditionState = DOOR_1_OPENING DAMAGED Model = NBNMissle_A2D Animation = NBNMissle_A2D.NBNMissle_A2D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = NBNMissle_A2D Animation = NBNMissle_A2D.NBNMissle_A2D AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE DAMAGED Model = NBNMissle_A3D Animation = NBNMissle_A3D.NBNMissle_A3D AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING DAMAGED Model = NBNMissle_A3D Animation = NBNMissle_A3D.NBNMissle_A3D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = NBNMissle_A2E Animation = NBNMissle_A2E.NBNMissle_A2E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = NBNMissle_A2E Animation = NBNMissle_A2E.NBNMissle_A2E AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE Model = NBNMissle_A3E Animation = NBNMissle_A3E.NBNMissle_A3E AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = NBNMissle_A3E Animation = NBNMissle_A3E.NBNMissle_A3E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ; night ConditionState = NIGHT Model = NBNMissle_N End ConditionState = DAMAGED NIGHT Model = NBNMissle_DN ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBNMissle_EN ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = AWAITING_CONSTRUCTION NIGHT Model = None End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBNMissle_N Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBNMissle_DN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBNMissle_EN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = DOOR_1_OPENING NIGHT Model = NBNMissle_A2N Animation = NBNMissle_A2N.NBNMissle_A2N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_WAITING_OPEN NIGHT Model = NBNMissle_A2N Animation = NBNMissle_A2N.NBNMissle_A2N AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE NIGHT Model = NBNMissle_A3N Animation = NBNMissle_A3N.NBNMissle_A3N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos End ConditionState = DOOR_1_CLOSING NIGHT Model = NBNMissle_A3N Animation = NBNMissle_A3N.NBNMissle_A3N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End ConditionState = DOOR_1_OPENING DAMAGED NIGHT Model = NBNMissle_A2DN Animation = NBNMissle_A2DN.NBNMissle_A2DN AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN DAMAGED NIGHT Model = NBNMissle_A2DN Animation = NBNMissle_A2DN.NBNMissle_A2DN AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE DAMAGED NIGHT Model = NBNMissle_A3DN Animation = NBNMissle_A3DN.NBNMissle_A3DN AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING DAMAGED NIGHT Model = NBNMissle_A3DN Animation = NBNMissle_A3DN.NBNMissle_A3DN AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE NIGHT Model = NBNMissle_A2EN Animation = NBNMissle_A2EN.NBNMissle_A2EN AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE NIGHT Model = NBNMissle_A2EN Animation = NBNMissle_A2EN.NBNMissle_A2EN AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE NIGHT Model = NBNMissle_A3EN Animation = NBNMissle_A3EN.NBNMissle_A3EN AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE NIGHT Model = NBNMissle_A3EN Animation = NBNMissle_A3EN.NBNMissle_A3EN AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ;-------------- SNOW! -------------------- ConditionState = SNOW Model = NBNMissle_S End ConditionState = DAMAGED SNOW Model = NBNMissle_DS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBNMissle_ES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = AWAITING_CONSTRUCTION SNOW Model = None End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBNMissle_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBNMissle_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBNMissle_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = DOOR_1_OPENING SNOW Model = NBNMissle_A2S Animation = NBNMissle_A2S.NBNMissle_A2S AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_WAITING_OPEN SNOW Model = NBNMissle_A2S Animation = NBNMissle_A2S.NBNMissle_A2S AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE SNOW Model = NBNMissle_A3S Animation = NBNMissle_A3S.NBNMissle_A3S AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos End ConditionState = DOOR_1_CLOSING SNOW Model = NBNMissle_A3S Animation = NBNMissle_A3S.NBNMissle_A3S AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End ConditionState = DOOR_1_OPENING DAMAGED SNOW Model = NBNMissle_A2DS Animation = NBNMissle_A2DS.NBNMissle_A2DS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN DAMAGED SNOW Model = NBNMissle_A2DS Animation = NBNMissle_A2DS.NBNMissle_A2DS AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE DAMAGED SNOW Model = NBNMissle_A3DS Animation = NBNMissle_A3DS.NBNMissle_A3DS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING DAMAGED SNOW Model = NBNMissle_A3DS Animation = NBNMissle_A3DS.NBNMissle_A3DS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE SNOW Model = NBNMissle_A2ES Animation = NBNMissle_A2ES.NBNMissle_A2ES AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE SNOW Model = NBNMissle_A2ES Animation = NBNMissle_A2ES.NBNMissle_A2ES AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE SNOW Model = NBNMissle_A3ES Animation = NBNMissle_A3ES.NBNMissle_A3ES AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE SNOW Model = NBNMissle_A3ES Animation = NBNMissle_A3ES.NBNMissle_A3ES AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ; night ConditionState = NIGHT SNOW Model = NBNMissle_NS End ConditionState = DAMAGED NIGHT SNOW Model = NBNMissle_DNS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBNMissle_ENS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = AWAITING_CONSTRUCTION NIGHT SNOW Model = None End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBNMissle_NS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBNMissle_DNS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBNMissle_ENS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = DOOR_1_OPENING NIGHT SNOW Model = NBNMissle_A2NS Animation = NBNMissle_A2NS.NBNMissle_A2NS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_WAITING_OPEN NIGHT SNOW Model = NBNMissle_A2NS Animation = NBNMissle_A2NS.NBNMissle_A2NS AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE NIGHT SNOW Model = NBNMissle_A3NS Animation = NBNMissle_A3NS.NBNMissle_A3NS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos End ConditionState = DOOR_1_CLOSING NIGHT SNOW Model = NBNMissle_A3NS Animation = NBNMissle_A3NS.NBNMissle_A3NS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End ConditionState = DOOR_1_OPENING DAMAGED NIGHT SNOW Model = NBNMissle_A2DNS Animation = NBNMissle_A2DNS.NBNMissle_A2DNS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN DAMAGED NIGHT SNOW Model = NBNMissle_A2DNS Animation = NBNMissle_A2DNS.NBNMissle_A2DNS AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE DAMAGED NIGHT SNOW Model = NBNMissle_A3DNS Animation = NBNMissle_A3DNS.NBNMissle_A3DNS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING DAMAGED NIGHT SNOW Model = NBNMissle_A3DNS Animation = NBNMissle_A3DNS.NBNMissle_A3DNS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBNMissle_A2ENS Animation = NBNMissle_A2ENS.NBNMissle_A2ENS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBNMissle_A2ENS Animation = NBNMissle_A2ENS.NBNMissle_A2ENS AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBNMissle_A3ENS Animation = NBNMissle_A3ENS.NBNMissle_A3ENS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBNMissle_A3ENS Animation = NBNMissle_A3ENS.NBNMissle_A3ENSS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBNMissle_A4 Animation = NBNMissle_A4.NBNMissle_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBNMissle_A4N Animation = NBNMissle_A4N.NBNMissle_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBNMissle_A4S Animation = NBNMissle_A4S.NBNMissle_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBNMissle_A4SN Animation = NBNMissle_A4SN.NBNMissle_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBNMissle_A4 Animation = NBNMissle_A4.NBNMissle_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBNMissle_A4N Animation = NBNMissle_A4N.NBNMissle_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBNMissle_A4S Animation = NBNMissle_A4S.NBNMissle_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBNMissle_A4SN Animation = NBNMissle_A4SN.NBNMissle_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBNMissle_A4 Animation = NBNMissle_A4.NBNMissle_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBNMissle_A4N Animation = NBNMissle_A4N.NBNMissle_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBNMissle_A4S Animation = NBNMissle_A4S.NBNMissle_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBNMissle_A4SN Animation = NBNMissle_A4SN.NBNMissle_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBNMissle_A6 Animation = NBNMissle_A6.NBNMissle_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBNMissle_A6N Animation = NBNMissle_A6N.NBNMissle_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBNMissle_A6S Animation = NBNMissle_A6S.NBNMissle_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBNMissle_A6SN Animation = NBNMissle_A6SN.NBNMissle_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBNMissle_A6 Animation = NBNMissle_A6.NBNMissle_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBNMissle_A6N Animation = NBNMissle_A6N.NBNMissle_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBNMissle_A6S Animation = NBNMissle_A6S.NBNMissle_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBNMissle_A6SN Animation = NBNMissle_A6SN.NBNMissle_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBNMissle_A6 Animation = NBNMissle_A6.NBNMissle_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBNMissle_A6N Animation = NBNMissle_A6N.NBNMissle_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBNMissle_A6S Animation = NBNMissle_A6S.NBNMissle_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBNMissle_A6SN Animation = NBNMissle_A6SN.NBNMissle_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBNMissle_A5 Animation = NBNMissle_A5.NBNMissle_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBNMissle_A5N Animation = NBNMissle_A5N.NBNMissle_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBNMissle_A5S Animation = NBNMissle_A5S.NBNMissle_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBNMissle_A5SN Animation = NBNMissle_A5SN.NBNMissle_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBNMissle_AB Animation = NBNMissle_AB.NBNMissle_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBNMissle_ABN Animation = NBNMissle_ABN.NBNMissle_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBNMissle_ABS Animation = NBNMissle_ABS.NBNMissle_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBNMissle_ABSN Animation = NBNMissle_ABSN.NBNMissle_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBNMissle_AB Animation = NBNMissle_AB.NBNMissle_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBNMissle_ABN Animation = NBNMissle_ABN.NBNMissle_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBNMissle_ABS Animation = NBNMissle_ABS.NBNMissle_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBNMissle_ABSN Animation = NBNMissle_ABSN.NBNMissle_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; Blinking lights Draw = W3DModelDraw ModuleTag_05 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = NBNMissle_AC Animation = NONE End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBNMissle_AC Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End ConditionState = DOOR_1_OPENING Model = NBNMissle_AC Animation = NBNMissle_AC.NBNMissle_AC AnimationMode = LOOP Flags = START_FRAME_FIRST End ConditionState = DOOR_1_WAITING_OPEN Model = NBNMissle_AC Animation = NBNMissle_AC.NBNMissle_AC AnimationMode = LOOP Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_TO_CLOSE Model = NBNMissle_AC Animation = NBNMissle_AC.NBNMissle_AC AnimationMode = LOOP Flags = START_FRAME_FIRST ;WeaponLaunchBone = PRIMARY RockPos End ConditionState = DOOR_1_CLOSING Model = NBNMissle_AC Animation = NBNMissle_AC.NBNMissle_AC AnimationMode = LOOP Flags = START_FRAME_FIRST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:NuclearMissile Side = ChinaInfantryGeneral EditorSorting = STRUCTURE Prerequisites Object = Infa_ChinaPropagandaCenter End BuildCost = 5000 BuildTime = 60.0 ; in seconds EnergyProduction = -10 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ShroudRevealToAllRange = 60 ; Reveals shroud to all players at a specific amount which can be different. ; Using same value? Then use KINDOF_REVEAL_TO_ALL instead! CommandSet = Infa_ChinaNuclearMissileCommandSet ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 400 400 400 400 ; Experience point value at each level MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games MaxSimultaneousLinkKey = Superweapon ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType ; *** AUDIO Parameters *** VoiceSelect = NuclearMissileSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY POWERED MP_COUNT_FOR_VICTORY FS_SUPERWEAPON Body = StructureBody ModuleTag_06 MaxHealth = 4000.0 InitialHealth = 4000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 4200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = OCLSpecialPower ModuleTag_07 SpecialPowerTemplate = SuperweaponNeutronMissile OCL = SUPERWEAPON_NeutronMissile End Behavior = SpecialPowerCreate ModuleTag_08 ;nothing End Behavior = MissileLauncherBuildingUpdate ModuleTag_09 SpecialPowerTemplate = SuperweaponNeutronMissile DoorOpenTime = 8000 DoorWaitOpenTime = 2000 DoorCloseTime = 8000 ; FXLists to play at transitions: DoorOpeningFX = ChinaNuclearMissileLauncherDoorOpen ;DoorOpenFX = FX_ABPowerPlantExplode DoorWaitingToCloseFX = ChinaNuclearMissileLauncherLaunch ;DoorClosingFX = FX_ABPowerPlantExplode ;DoorClosedFX = FX_ABPowerPlantExplode ; looping sound to play while open: DoorOpenIdleAudio = BuildingNeutronMissileHiss End Behavior = ProductionUpdate ModuleTag_10 DisabledTypesToProcess = DISABLED_HELD DISABLED_UNDERPOWERED End Behavior = DestroyDie ModuleTag_11 ;Nothing End Behavior = FireWeaponWhenDeadBehavior ModuleTag_12 DeathWeapon = ChinaPowerPlantDeathWeapon StartsActive = Yes End Behavior = GenerateMinefieldBehavior ModuleTag_13 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_15 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = CreateObjectDie ModuleTag_20 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_21 ExemptStatus = UNDER_CONSTRUCTION DeathFX = FX_NukeGLA End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = Infa_ChinaNuclearMissileCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Geometry = BOX GeometryMajorRadius = 45.0 GeometryMinorRadius = 55.0 GeometryHeight = 64.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Infa_ChinaSpeakerTower ; *** ART Parameters *** SelectPortrait = SNPropSpeaker_L ButtonImage = SNPropSpeaker UpgradeCameo1 = Upgrade_ChinaSubliminalMessaging Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = NBPTower Animation = NBPTower.NBPTower AnimationMode = LOOP End ConditionState = DAMAGED Model = NBPTower_D Animation = NBPTower_D.NBPTower_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE Model = NBPTower_E Animation = NBPTower_E.NBPTower_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Flame01 SmolderingFire ParticleSysBone = Flame01 SmolderingFlameCore ParticleSysBone = Spark01 LiveWireSparks End ; day Snow ConditionState = SNOW Model = NBPTower_S Animation = NBPTower_S.NBPTower_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = NBPTower_DS Animation = NBPTower_DS.NBPTower_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBPTower_ES Animation = NBPTower_ES.NBPTower_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Flame01 SmolderingFire ParticleSysBone = Flame01 SmolderingFlameCore ParticleSysBone = Spark01 LiveWireSparks End ; night ConditionState = NIGHT Model = NBPTower_N Animation = NBPTower_N.NBPTower_N AnimationMode = LOOP End ConditionState = NIGHT DAMAGED Model = NBPTower_DN Animation = NBPTower_DN.NBPTower_DN AnimationMode = LOOP End ConditionState = NIGHT REALLYDAMAGED RUBBLE Model = NBPTower_EN Animation = NBPTower_EN.NBPTower_EN AnimationMode = LOOP End ;Snow Night ConditionState = NIGHT SNOW Model = NBPTower_NS Animation = NBPTower_NS.NBPTower_NS AnimationMode = LOOP End ConditionState = NIGHT SNOW DAMAGED Model = NBPTower_DNS Animation = NBPTower_DNS.NBPTower_DNS AnimationMode = LOOP End ConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE Model = NBPTower_ENS Animation = NBPTower_ENS.NBPTower_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPTower Animation = NBPTower.NBPTower AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBPTower_D Animation = NBPTower_D.NBPTower_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBPTower_E Animation = NBPTower_E.NBPTower_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBPTower_N Animation = NBPTower_N.NBPTower_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBPTower_DN Animation = NBPTower_DN.NBPTower_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBPTower_EN Animation = NBPTower_EN.NBPTower_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBPTower_S Animation = NBPTower_S.NBPTower_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBPTower_DS Animation = NBPTower_DS.NBPTower_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBPTower_ES Animation = NBPTower_ES.NBPTower_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBPTower_NS Animation = NBPTower_NS.NBPTower_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBPTower_DNS Animation = NBPTower_DNS.NBPTower_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBPTower_ENS Animation = NBPTower_ENS.NBPTower_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPTower_A4 Animation = NBPTower_A4.NBPTower_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPTower_A4N Animation = NBPTower_A4N.NBPTower_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPTower_A4S Animation = NBPTower_A4S.NBPTower_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPTower_A4SN Animation = NBPTower_A4SN.NBPTower_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPTower_A4 Animation = NBPTower_A4.NBPTower_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPTower_A4N Animation = NBPTower_A4N.NBPTower_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPTower_A4S Animation = NBPTower_A4S.NBPTower_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPTower_A4SN Animation = NBPTower_A4SN.NBPTower_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPTower_A4 Animation = NBPTower_A4.NBPTower_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPTower_A4N Animation = NBPTower_A4N.NBPTower_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPTower_A4S Animation = NBPTower_A4S.NBPTower_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPTower_A4SN Animation = NBPTower_A4SN.NBPTower_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBPTower_A6 Animation = NBPTower_A6.NBPTower_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBPTower_A6N Animation = NBPTower_A6N.NBPTower_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBPTower_A6S Animation = NBPTower_A6S.NBPTower_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBPTower_A6SN Animation = NBPTower_A6SN.NBPTower_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPTower_A6 Animation = NBPTower_A6.NBPTower_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPTower_A6N Animation = NBPTower_A6N.NBPTower_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPTower_A6S Animation = NBPTower_A6S.NBPTower_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPTower_A6SN Animation = NBPTower_A6SN.NBPTower_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPTower_A6 Animation = NBPTower_A6.NBPTower_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPTower_A6N Animation = NBPTower_A6N.NBPTower_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPTower_A6S Animation = NBPTower_A6S.NBPTower_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPTower_A6SN Animation = NBPTower_A6SN.NBPTower_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBPTower_A5 Animation = NBPTower_A5.NBPTower_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBPTower_A5N Animation = NBPTower_A5N.NBPTower_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBPTower_A5S Animation = NBPTower_A5S.NBPTower_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBPTower_A5SN Animation = NBPTower_A5SN.NBPTower_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPTower_AB Animation = NBPTower_AB.NBPTower_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPTower_ABN Animation = NBPTower_ABN.NBPTower_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPTower_ABS Animation = NBPTower_ABS.NBPTower_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPTower_ABSN Animation = NBPTower_ABSN.NBPTower_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPTower_AB Animation = NBPTower_AB.NBPTower_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPTower_ABN Animation = NBPTower_ABN.NBPTower_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPTower_ABS Animation = NBPTower_ABS.NBPTower_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPTower_ABSN Animation = NBPTower_ABSN.NBPTower_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:SpeakerTower Side = ChinaInfantryGeneral EditorSorting = STRUCTURE BuildCost = 500 BuildTime = 10.0 ; in seconds EnergyProduction = -1 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End Prerequisites Object = Infa_ChinaPropagandaCenter End CommandSet = ChinaSpeakerTowerCommandSet ExperienceValue = 50 50 50 50 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = SpeakerTowerSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE FS_BASE_DEFENSE POWERED IMMUNE_TO_CAPTURE MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_05 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 500 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = PropagandaTowerBehavior ModuleTag_06 Radius = 150.0 DelayBetweenUpdates = 2000 ; in milliseconds HealPercentEachSecond = 2% ; get this % of max health every second PulseFX = FX_PropagandaTowerPropagandaPulse ;plays as often as DelayBetweenUpdates UpgradeRequired = Upgrade_ChinaSubliminalMessaging UpgradedHealPercentEachSecond = 4% ; get this % of max health every second UpgradedPulseFX = FX_PropagandaTowerSubliminalPulse ;plays as often as DelayBetweenUpdates End Behavior = DestroyDie ModuleTag_07 ; End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_ABPowerPlantExplode End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureTinyDeath End Behavior = ProductionUpdate ModuleTag_10 ; But is required if we have any Object-level Upgrades! End Behavior = GenerateMinefieldBehavior ModuleTag_11 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = FlammableUpdate ModuleTag_13 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_14 ;-------------DESIGNED FOR TINY SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionTinyExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionTinyShockwave End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = ChinaSpeakerTowerCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Geometry = BOX GeometryMajorRadius = 6.0 GeometryMinorRadius = 6.0 GeometryHeight = 51.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;China Nuclear Reactor Object Infa_ChinaPowerPlant ; *** ART Parameters *** SelectPortrait = SNReactor_L ButtonImage = SNReactor ;day Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = NBPwrPlant ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED Model = NBPwrPlant_D ParticleSysBone = Smoke01 SteamLarge ParticleSysBone = Smoke02 SteamMedium ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 FireFactionLarge ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = NBPwrPlant_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksMedium ParticleSysBone = Spark03 SparksSmall ParticleSysBone = Spark04 LiveWireSparks End ; day overcharge ConditionState = POWER_PLANT_UPGRADED Model = NBPwrPlant ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksMedium ParticleSysBone = Spark04 SparksMedium ParticleSysBone = Spark05 SparksSmall ParticleSysBone = Spark06 SparksSmall ParticleSysBone = Spark07 SparksSmall End ConditionState = DAMAGED POWER_PLANT_UPGRADED Model = NBPwrPlant_D ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksMedium ParticleSysBone = Spark04 SparksMedium ParticleSysBone = Spark05 SparksMedium ParticleSysBone = Spark06 SparksSmall ParticleSysBone = Spark07 SparksSmall End ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED Model = NBPwrPlant_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksLarge ParticleSysBone = Spark04 SparksLarge ParticleSysBone = Spark05 SparksMedium ParticleSysBone = Spark06 SparksMedium ParticleSysBone = Spark07 SparksSmall End ; Snow-Day ConditionState = SNOW Model = NBPwrPlant_S ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED SNOW Model = NBPwrPlant_DS ParticleSysBone = Smoke01 SteamLarge ParticleSysBone = Smoke02 SteamMedium ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 FireFactionLarge ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBPwrPlant_ES ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksMedium ParticleSysBone = Spark03 SparksSmall ParticleSysBone = Spark04 LiveWireSparks End ; day overcharge ConditionState = POWER_PLANT_UPGRADED SNOW Model = NBPwrPlant_S ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksMedium ParticleSysBone = Spark04 SparksMedium ParticleSysBone = Spark05 SparksSmall ParticleSysBone = Spark06 SparksSmall ParticleSysBone = Spark07 SparksSmall End ConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW Model = NBPwrPlant_DS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksMedium ParticleSysBone = Spark04 SparksMedium ParticleSysBone = Spark05 SparksMedium ParticleSysBone = Spark06 SparksSmall ParticleSysBone = Spark07 SparksSmall End ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW Model = NBPwrPlant_ES ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksLarge ParticleSysBone = Spark04 SparksLarge ParticleSysBone = Spark05 SparksMedium ParticleSysBone = Spark06 SparksMedium ParticleSysBone = Spark07 SparksSmall End ;night snow ConditionState = NIGHT SNOW Model = NBPwrPlant_NS Animation = NBPwrPlant_NS.NBPwrPlant_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent End ConditionState = NIGHT DAMAGED SNOW Model = NBPwrPlant_DNS Animation = NBPwrPlant_DNS.NBPwrPlant_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBPwrPlant_ENS Animation = NBPwrPlant_ENS.NBPwrPlant_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks ParticleSysBone = Spark03 LiveWireSparks ParticleSysBone = Spark04 LiveWireSparks End ; night overcharge ConditionState = NIGHT POWER_PLANT_UPGRADED SNOW Model = NBPwrPlant_NS Animation = NBPwrPlant_NS.NBPwrPlant_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksMedium ParticleSysBone = Spark04 SparksMedium ParticleSysBone = Spark05 SparksSmall ParticleSysBone = Spark06 SparksSmall ParticleSysBone = Spark07 SparksSmall End ConditionState = NIGHT DAMAGED POWER_PLANT_UPGRADED SNOW Model = NBPwrPlant_DNS Animation = NBPwrPlant_DNS.NBPwrPlant_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksMedium ParticleSysBone = Spark04 SparksMedium ParticleSysBone = Spark05 SparksMedium ParticleSysBone = Spark06 SparksSmall ParticleSysBone = Spark07 SparksSmall End ConditionState = REALLYDAMAGED RUBBLE NIGHT POWER_PLANT_UPGRADED SNOW Model = NBPwrPlant_ENS Animation = NBPwrPlant_ENS.NBPwrPlant_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksLarge ParticleSysBone = Spark04 SparksLarge ParticleSysBone = Spark05 SparksMedium ParticleSysBone = Spark06 SparksMedium ParticleSysBone = Spark07 SparksSmall End ;night ConditionState = NIGHT Model = NBPwrPlant_N Animation = NBPwrPlant_N.NBPwrPlant_N AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent End ConditionState = NIGHT DAMAGED Model = NBPwrPlant_DN Animation = NBPwrPlant_DN.NBPwrPlant_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBPwrPlant_EN Animation = NBPwrPlant_EN.NBPwrPlant_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks ParticleSysBone = Spark03 LiveWireSparks ParticleSysBone = Spark04 LiveWireSparks End ; night overcharge ConditionState = NIGHT POWER_PLANT_UPGRADED Model = NBPwrPlant_N Animation = NBPwrPlant_N.NBPwrPlant_N AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksMedium ParticleSysBone = Spark04 SparksMedium ParticleSysBone = Spark05 SparksSmall ParticleSysBone = Spark06 SparksSmall ParticleSysBone = Spark07 SparksSmall End ConditionState = NIGHT DAMAGED POWER_PLANT_UPGRADED Model = NBPwrPlant_DN Animation = NBPwrPlant_DN.NBPwrPlant_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksMedium ParticleSysBone = Spark04 SparksMedium ParticleSysBone = Spark05 SparksMedium ParticleSysBone = Spark06 SparksSmall ParticleSysBone = Spark07 SparksSmall End ConditionState = REALLYDAMAGED RUBBLE NIGHT POWER_PLANT_UPGRADED Model = NBPwrPlant_EN Animation = NBPwrPlant_EN.NBPwrPlant_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksLarge ParticleSysBone = Spark04 SparksLarge ParticleSysBone = Spark05 SparksMedium ParticleSysBone = Spark06 SparksMedium ParticleSysBone = Spark07 SparksSmall End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBPwrPlant_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBPwrPlant_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBPwrPlant_N Animation = NBPwrPlant_N.NBPwrPlant_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBPwrPlant_DN Animation = NBPwrPlant_DN.NBPwrPlant_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBPwrPlant_EN Animation = NBPwrPlant_EN.NBPwrPlant_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBPwrPlant_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBPwrPlant_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBPwrPlant_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBPwrPlant_NS Animation = NBPwrPlant_NS.NBPwrPlant_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBPwrPlant_DNS Animation = NBPwrPlant_DNS.NBPwrPlant_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBPwrPlant_ENS Animation = NBPwrPlant_ENS.NBPwrPlant_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD POWER_PLANT_UPGRADED AliasConditionState = SOLD DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD SNOW POWER_PLANT_UPGRADED AliasConditionState = SOLD SNOW DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD SNOW REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED POWER_PLANT_UPGRADED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant_A4 Animation = NBPwrPlant_A4.NBPwrPlant_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant_A4N Animation = NBPwrPlant_A4N.NBPwrPlant_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant_A4S Animation = NBPwrPlant_A4S.NBPwrPlant_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant_A4SN Animation = NBPwrPlant_A4SN.NBPwrPlant_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPwrPlant_A4 Animation = NBPwrPlant_A4.NBPwrPlant_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPwrPlant_A4N Animation = NBPwrPlant_A4N.NBPwrPlant_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPwrPlant_A4S Animation = NBPwrPlant_A4S.NBPwrPlant_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPwrPlant_A4SN Animation = NBPwrPlant_A4SN.NBPwrPlant_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPwrPlant_A4 Animation = NBPwrPlant_A4.NBPwrPlant_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPwrPlant_A4N Animation = NBPwrPlant_A4N.NBPwrPlant_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPwrPlant_A4S Animation = NBPwrPlant_A4S.NBPwrPlant_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPwrPlant_A4SN Animation = NBPwrPlant_A4SN.NBPwrPlant_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBPwrPlant_A6 Animation = NBPwrPlant_A6.NBPwrPlant_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBPwrPlant_A6N Animation = NBPwrPlant_A6N.NBPwrPlant_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBPwrPlant_A6S Animation = NBPwrPlant_A6S.NBPwrPlant_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBPwrPlant_A6SN Animation = NBPwrPlant_A6SN.NBPwrPlant_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPwrPlant_A6 Animation = NBPwrPlant_A6.NBPwrPlant_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPwrPlant_A6N Animation = NBPwrPlant_A6N.NBPwrPlant_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPwrPlant_A6S Animation = NBPwrPlant_A6S.NBPwrPlant_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPwrPlant_A6SN Animation = NBPwrPlant_A6SN.NBPwrPlant_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPwrPlant_A6 Animation = NBPwrPlant_A6.NBPwrPlant_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPwrPlant_A6N Animation = NBPwrPlant_A6N.NBPwrPlant_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPwrPlant_A6S Animation = NBPwrPlant_A6S.NBPwrPlant_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPwrPlant_A6SN Animation = NBPwrPlant_A6SN.NBPwrPlant_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant_A5 Animation = NBPwrPlant_A5.NBPwrPlant_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant_A5N Animation = NBPwrPlant_A5N.NBPwrPlant_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant_A5S Animation = NBPwrPlant_A5S.NBPwrPlant_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant_A5SN Animation = NBPwrPlant_A5SN.NBPwrPlant_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPwrPlant_AB Animation = NBPwrPlant_AB.NBPwrPlant_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPwrPlant_ABN Animation = NBPwrPlant_ABN.NBPwrPlant_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPwrPlant_ABS Animation = NBPwrPlant_ABS.NBPwrPlant_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPwrPlant_ABSN Animation = NBPwrPlant_ABSN.NBPwrPlant_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPwrPlant_AB Animation = NBPwrPlant_AB.NBPwrPlant_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPwrPlant_ABN Animation = NBPwrPlant_ABN.NBPwrPlant_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPwrPlant_ABS Animation = NBPwrPlant_ABS.NBPwrPlant_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPwrPlant_ABSN Animation = NBPwrPlant_ABSN.NBPwrPlant_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:NuclearReactor Side = ChinaInfantryGeneral EditorSorting = STRUCTURE BuildCost = 1000 BuildTime = 10.0 ; in seconds EnergyProduction = 10 EnergyBonus = 5 ; for the overcharge bonus VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End CommandSet = Infa_ChinaPowerPlantCommandSet ExperienceValue = 100 100 100 100 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = NuclearReactorSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_POWER MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_05 MaxHealth = 1500.0 InitialHealth = 1500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1700 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = OverchargeBehavior ModuleTag_06 HealthPercentToDrainPerSecond = 3% ;% of max health to drain per second NotAllowedWhenHealthBelowPercent = 0% ;When currHealth below this, it turns off automatically End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_SmallStructureDebris End Behavior = FireWeaponWhenDeadBehavior ModuleTag_09 DeathWeapon = ChinaPowerPlantDeathWeapon StartsActive = Yes End Behavior = ProductionUpdate ModuleTag_10 ; nothing, but is required if we have any Object-level Upgrades! End Behavior = PowerPlantUpdate ModuleTag_11 RodsExtendTime = 1 End Behavior = GenerateMinefieldBehavior ModuleTag_12 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_15 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = FXListDie ModuleTag_16 DeathFX = FX_BuildingDie End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = ChinaPowerPlantCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Geometry = BOX GeometryMajorRadius = 27.0 GeometryMinorRadius = 34.0 GeometryHeight = 40.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Infa_ChinaSupplyCenter ; *** ART Parameters *** SelectPortrait = SNSupplyCenter_L ButtonImage = SNSupplyCenter Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;day ConditionState = NONE Model = NBSupCent ;Animation = NBSupCent.NBSupCent ;AnimationMode = LOOP End ConditionState = DAMAGED Model = NBSupCent_D ;Animation = NBSupCent_D.NBSupCent_D ;AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = NBSupCent_E ;Animation = NBSupCent_E.NBSupCent_E ;AnimationMode = LOOP End ConditionState = SNOW Model = NBSupCent_S ;Animation = NBSupCent.NBSupCent ;AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = NBSupCent_DS ;Animation = NBSupCent_D.NBSupCent_D ;AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBSupCent_ES ;Animation = NBSupCent_E.NBSupCent_E ;AnimationMode = LOOP End ConditionState = SNOW NIGHT Model = NBSupCent_NS ;Animation = NBSupCent.NBSupCent ;AnimationMode = LOOP End ConditionState = DAMAGED SNOW NIGHT Model = NBSupCent_DNS ;Animation = NBSupCent_D.NBSupCent_D ;AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = NBSupCent_ENS ;Animation = NBSupCent_E.NBSupCent_E ;AnimationMode = LOOP End ConditionState = NIGHT Model = NBSupCent_N ;Animation = NBSupCent_N.NBSupCent_N ;AnimationMode = LOOP End ConditionState = NIGHT DAMAGED Model = NBSupCent_DN ;Animation = NBSupCent_N.NBSupCent_N ;AnimationMode = LOOP End ConditionState = NIGHT REALLYDAMAGED RUBBLE Model = NBSupCent_EN ;Animation = NBSupCent_N.NBSupCent_N ;AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent ;Animation = NBSupCent.NBSupCent ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBSupCent_D ;Animation = NBSupCent_D.NBSupCent_D ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBSupCent_E ;Animation = NBSupCent_E.NBSupCent_E ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBSupCent_N ;Animation = NBSupCent_N.NBSupCent_N ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBSupCent_DN ;Animation = NBSupCent_DN.NBSupCent_DN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBSupCent_EN ;Animation = NBSupCent_EN.NBSupCent_EN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBSupCent_S ;Animation = NBSupCent_S.NBSupCent_S ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBSupCent_DS ;Animation = NBSupCent_DS.NBSupCent_DS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBSupCent_ES ;Animation = NBSupCent_ES.NBSupCent_ES ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBSupCent_NS ;Animation = NBSupCent_NS.NBSupCent_NS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBSupCent_DNS ;Animation = NBSupCent_DNS.NBSupCent_DNS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBSupCent_ENS ;Animation = NBSupCent_ENS.NBSupCent_ENS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A4 Animation = NBSupCent_A4.NBSupCent_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A4N Animation = NBSupCent_A4N.NBSupCent_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A4S Animation = NBSupCent_A4S.NBSupCent_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A4SN Animation = NBSupCent_A4SN.NBSupCent_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBSupCent_A4 Animation = NBSupCent_A4.NBSupCent_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBSupCent_A4N Animation = NBSupCent_A4N.NBSupCent_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBSupCent_A4S Animation = NBSupCent_A4S.NBSupCent_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBSupCent_A4SN Animation = NBSupCent_A4SN.NBSupCent_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBSupCent_A4 Animation = NBSupCent_A4.NBSupCent_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBSupCent_A4N Animation = NBSupCent_A4N.NBSupCent_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBSupCent_A4S Animation = NBSupCent_A4S.NBSupCent_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBSupCent_A4SN Animation = NBSupCent_A4SN.NBSupCent_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBSupCent_A6 Animation = NBSupCent_A6.NBSupCent_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBSupCent_A6N Animation = NBSupCent_A6N.NBSupCent_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBSupCent_A6S Animation = NBSupCent_A6S.NBSupCent_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBSupCent_A6SN Animation = NBSupCent_A6SN.NBSupCent_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBSupCent_A6 Animation = NBSupCent_A6.NBSupCent_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBSupCent_A6N Animation = NBSupCent_A6N.NBSupCent_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBSupCent_A6S Animation = NBSupCent_A6S.NBSupCent_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBSupCent_A6SN Animation = NBSupCent_A6SN.NBSupCent_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBSupCent_A6 Animation = NBSupCent_A6.NBSupCent_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBSupCent_A6N Animation = NBSupCent_A6N.NBSupCent_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBSupCent_A6S Animation = NBSupCent_A6S.NBSupCent_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBSupCent_A6SN Animation = NBSupCent_A6SN.NBSupCent_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5 Animation = NBSupCent_A5.NBSupCent_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5N Animation = NBSupCent_A5N.NBSupCent_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5S Animation = NBSupCent_A5S.NBSupCent_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5SN Animation = NBSupCent_A5SN.NBSupCent_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBSupCent_AB Animation = NBSupCent_AB.NBSupCent_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBSupCent_ABN Animation = NBSupCent_ABN.NBSupCent_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBSupCent_ABS Animation = NBSupCent_ABS.NBSupCent_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBSupCent_ABSN Animation = NBSupCent_ABSN.NBSupCent_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBSupCent_AB Animation = NBSupCent_AB.NBSupCent_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBSupCent_ABN Animation = NBSupCent_ABN.NBSupCent_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBSupCent_ABS Animation = NBSupCent_ABS.NBSupCent_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBSupCent_ABSN Animation = NBSupCent_ABSN.NBSupCent_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:SupplyCenter Side = ChinaInfantryGeneral EditorSorting = STRUCTURE Prerequisites Object = Infa_ChinaPowerPlant End BuildCost = 1500 RefundValue = 450 ; With nothing (or zero) listed, we sell for half price. BuildTime = 10.0 ; in seconds EnergyProduction = -1 CommandSet = Infa_ChinaSupplyCenterCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = SupplyCenterChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CASH_GENERATOR SCORE CAPTURABLE AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY CANNOT_BUILD_NEAR_SUPPLIES FS_SUPPLY_CENTER Body = StructureBody ModuleTag_05 MaxHealth = 2000.0 InitialHealth = 2000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = SupplyCenterCreate ModuleTag_06 ;nothing End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_SmallStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_10 ; nothing End Behavior = SupplyCenterProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 52.0 Y: 0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = SpawnBehavior ModuleTag_12 SpawnNumber = 1 SpawnReplaceDelay = 9999 SpawnTemplateName = Infa_ChinaVehicleSupplyTruck OneShot = Yes CanReclaimOrphans = No SlavesHaveFreeWill = Yes End Behavior = SupplyCenterDockUpdate ModuleTag_13 AllowsPassthrough = No ;You can't drive through this guy while docking. Use this when the dock points are all outside NumberApproachPositions = -1 ; This is a Boneless dock, so this means infinite can approach End Behavior = GenerateMinefieldBehavior ModuleTag_14 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = FlammableUpdate ModuleTag_16 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_17 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = Infa_ChinaSupplyCenterCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Geometry = BOX GeometryMajorRadius = 52.0 GeometryMinorRadius = 47.0 GeometryHeight = 30.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Infa_ChinaBarracks ; *** ART Parameters *** SelectPortrait = SNBarracks_L ButtonImage = SNBarracks Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = NBBarracks ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks.NBBarracks AnimationMode = LOOP End ConditionState = DAMAGED Model = NBBarracks_D ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_D.NBBarracks_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = NBBarracks_E ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_E.NBBarracks_E AnimationMode = LOOP End ; day SNOW ConditionState = SNOW Model = NBBarracks_S ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_S.NBBarracks_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = NBBarracks_DS ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_DS.NBBarracks_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBBarracks_ES ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_ES.NBBarracks_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = NBBarracks_N ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_N.NBBarracks_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = NBBarracks_DN ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_DN.NBBarracks_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBBarracks_EN ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_EN.NBBarracks_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = NBBarracks_NS ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_NS.NBBarracks_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = NBBarracks_DNS ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_DNS.NBBarracks_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBBarracks_ENS ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_ENS.NBBarracks_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks Animation = NBBarracks.NBBarracks AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBBarracks_D Animation = NBBarracks_D.NBBarracks_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBBarracks_E Animation = NBBarracks_E.NBBarracks_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBBarracks_N Animation = NBBarracks_N.NBBarracks_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBBarracks_DN Animation = NBBarracks_DN.NBBarracks_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBBarracks_EN Animation = NBBarracks_EN.NBBarracks_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBBarracks_S Animation = NBBarracks_S.NBBarracks_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBBarracks_DS Animation = NBBarracks_DS.NBBarracks_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBBarracks_ES Animation = NBBarracks_ES.NBBarracks_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBBarracks_NS Animation = NBBarracks_NS.NBBarracks_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBBarracks_DNS Animation = NBBarracks_DNS.NBBarracks_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBBarracks_ENS Animation = NBBarracks_ENS.NBBarracks_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A4 Animation = NBBarracks_A4.NBBarracks_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A4N Animation = NBBarracks_A4N.NBBarracks_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A4S Animation = NBBarracks_A4S.NBBarracks_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A4SN Animation = NBBarracks_A4SN.NBBarracks_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBBarracks_A4 Animation = NBBarracks_A4.NBBarracks_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBBarracks_A4N Animation = NBBarracks_A4N.NBBarracks_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBBarracks_A4S Animation = NBBarracks_A4S.NBBarracks_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBBarracks_A4SN Animation = NBBarracks_A4SN.NBBarracks_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBBarracks_A4 Animation = NBBarracks_A4.NBBarracks_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBBarracks_A4N Animation = NBBarracks_A4N.NBBarracks_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBBarracks_A4S Animation = NBBarracks_A4S.NBBarracks_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBBarracks_A4SN Animation = NBBarracks_A4SN.NBBarracks_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBBarracks_A6 Animation = NBBarracks_A6.NBBarracks_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBBarracks_A6N Animation = NBBarracks_A6N.NBBarracks_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBBarracks_A6S Animation = NBBarracks_A6S.NBBarracks_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBBarracks_A6SN Animation = NBBarracks_A6SN.NBBarracks_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBBarracks_A6 Animation = NBBarracks_A6.NBBarracks_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBBarracks_A6N Animation = NBBarracks_A6N.NBBarracks_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBBarracks_A6S Animation = NBBarracks_A6S.NBBarracks_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBBarracks_A6SN Animation = NBBarracks_A6SN.NBBarracks_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBBarracks_A6 Animation = NBBarracks_A6.NBBarracks_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBBarracks_A6N Animation = NBBarracks_A6N.NBBarracks_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBBarracks_A6S Animation = NBBarracks_A6S.NBBarracks_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBBarracks_A6SN Animation = NBBarracks_A6SN.NBBarracks_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A5 Animation = NBBarracks_A5.NBBarracks_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A5N Animation = NBBarracks_A5N.NBBarracks_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A5S Animation = NBBarracks_A5S.NBBarracks_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A5SN Animation = NBBarracks_A5SN.NBBarracks_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBBarracks_AB Animation = NBBarracks_AB.NBBarracks_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBBarracks_ABN Animation = NBBarracks_ABN.NBBarracks_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBBarracks_ABS Animation = NBBarracks_ABS.NBBarracks_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBBarracks_ABSN Animation = NBBarracks_ABSN.NBBarracks_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBBarracks_AB Animation = NBBarracks_AB.NBBarracks_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBBarracks_ABN Animation = NBBarracks_ABN.NBBarracks_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBBarracks_ABS Animation = NBBarracks_ABS.NBBarracks_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBBarracks_ABSN Animation = NBBarracks_ABSN.NBBarracks_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:Barracks Side = ChinaInfantryGeneral EditorSorting = STRUCTURE BuildCost = 500 BuildTime = 10.0 ; in seconds EnergyProduction = 0 CommandSet = Infa_ChinaBarracksCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 100 100 100 100 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = BarracksChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE HEAL_PAD SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_BARRACKS Body = StructureBody ModuleTag_05 MaxHealth = 1200.0 InitialHealth = 1200.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1400 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = HealContain ModuleTag_06 ContainMax = 10 ;way bigger than the # of objects we can have TimeForFullHeal = 2000 ;(in milliseconds) AllowInsideKindOf = INFANTRY AllowAlliesInside = Yes AllowNeutralInside = No AllowEnemiesInside = No End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_10 QuantityModifier = Infa_ChinaInfantryMiniGunner 1 End Behavior = QueueProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: 0.0 Y: -25.0 Z:0.0 NaturalRallyPoint = X: 36.0 Y: -25.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML ExitDelay = 300 ; Mainly for the multiple produced Red Guard. Make them come out one at a time. End Behavior = GenerateMinefieldBehavior ModuleTag_12 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_15 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = Infa_ChinaBarracksCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Behavior = GrantUpgradeCreate ModuleTag_27 UpgradeToGrant = Upgrade_Nationalism ExemptStatus = UNDER_CONSTRUCTION End Geometry = BOX GeometryMajorRadius = 36.0 GeometryMinorRadius = 44.0 GeometryHeight = 30.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Infa_ChinaWarFactory ; *** ART Parameters *** SelectPortrait = SNWarFact_L ButtonImage = SNWarFact ; ------------ the main factory itself ----------------- Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day DefaultConditionState Model = NBWarFact End ConditionState = DAMAGED Model = NBWarFact_D ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE Model = NBWarFact_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore End ConditionState = SNOW Model = NBWarFact_S End ConditionState = DAMAGED SNOW Model = NBWarFact_DS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBWarFact_ES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore End ; night ********************************************** ConditionState = NIGHT Model = NBWarFact_N End ConditionState = DAMAGED NIGHT Model = NBWarFact_DN ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBWarFact_EN ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore End ; night SNOW ConditionState = NIGHT SNOW Model = NBWarFact_NS End ConditionState = DAMAGED NIGHT SNOW Model = NBWarFact_DNS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBWarFact_ENS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact ;Animation = NBWarFact.NBWarFact ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBWarFact_D ;Animation = NBWarFact_D.NBWarFact_D ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBWarFact_E ;Animation = NBWarFact_E.NBWarFact_E ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBWarFact_N ;Animation = NBWarFact_N.NBWarFact_N ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBWarFact_DN ;Animation = NBWarFact_DN.NBWarFact_DN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBWarFact_EN ;Animation = NBWarFact_EN.NBWarFact_EN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBWarFact_S ;Animation = NBWarFact_S.NBWarFact_S ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBWarFact_DS ;Animation = NBWarFact_DS.NBWarFact_DS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBWarFact_ES ;Animation = NBWarFact_ES.NBWarFact_ES ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBWarFact_NS ;Animation = NBWarFact_NS.NBWarFact_NS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBWarFact_DNS ;Animation = NBWarFact_DNS.NBWarFact_DNS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBWarFact_ENS ;Animation = NBWarFact_ENS.NBWarFact_ENS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------------ the construction crane ------------ Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = None Model = NBWarFact_A1 Animation = NBWarFact_A1.NBWarFact_A1 AnimationMode = LOOP WaitForStateToFinishIfPossible = TransitionFinishBeforeSwitch End ConditionState = DAMAGED Model = NBWarFact_A1D Animation = NBWarFact_A1D.NBWarFact_A1D AnimationMode = LOOP WaitForStateToFinishIfPossible = TransitionFinishBeforeSwitch End ConditionState = REALLYDAMAGED RUBBLE Model = NBWarFact_A1E Animation = NBWarFact_A1E.NBWarFact_A1E AnimationMode = LOOP WaitForStateToFinishIfPossible = TransitionFinishBeforeSwitch End ConditionState = ACTIVELY_CONSTRUCTING Model = NBWarFact_A2 Animation = NBWarFact_A2.NBWarFact_A2 AnimationMode = ONCE TransitionKey = TransitionFinishBeforeSwitch End ConditionState = ACTIVELY_CONSTRUCTING DAMAGED Model = NBWarFact_A2D Animation = NBWarFact_A2D.NBWarFact_A2D AnimationMode = ONCE TransitionKey = TransitionFinishBeforeSwitch End ConditionState = ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE Model = NBWarFact_A2E Animation = NBWarFact_A2E.NBWarFact_A2E AnimationMode = ONCE TransitionKey = TransitionFinishBeforeSwitch End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A1 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = SOLD DAMAGED REALLYDAMAGED RUBBLE Model = NONE End End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A4 Animation = NBWarFact_A4.NBWarFact_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A4N Animation = NBWarFact_A4N.NBWarFact_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A4S Animation = NBWarFact_A4S.NBWarFact_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A4SN Animation = NBWarFact_A4SN.NBWarFact_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End TransitionState = DOWN_DEFAULT UP_DAY Model = NBWarFact_A4 Animation = NBWarFact_A4.NBWarFact_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBWarFact_A4N Animation = NBWarFact_A4N.NBWarFact_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBWarFact_A4S Animation = NBWarFact_A4S.NBWarFact_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBWarFact_A4SN Animation = NBWarFact_A4SN.NBWarFact_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBWarFact_A4 Animation = NBWarFact_A4.NBWarFact_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBWarFact_A4N Animation = NBWarFact_A4N.NBWarFact_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBWarFact_A4S Animation = NBWarFact_A4S.NBWarFact_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBWarFact_A4SN Animation = NBWarFact_A4SN.NBWarFact_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBWarFact_A6 Animation = NBWarFact_A6.NBWarFact_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBWarFact_A6N Animation = NBWarFact_A6N.NBWarFact_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBWarFact_A6S Animation = NBWarFact_A6S.NBWarFact_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBWarFact_A6SN Animation = NBWarFact_A6SN.NBWarFact_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBWarFact_A6 Animation = NBWarFact_A6.NBWarFact_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBWarFact_A6N Animation = NBWarFact_A6N.NBWarFact_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBWarFact_A6S Animation = NBWarFact_A6S.NBWarFact_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBWarFact_A6SN Animation = NBWarFact_A6SN.NBWarFact_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBWarFact_A6 Animation = NBWarFact_A6.NBWarFact_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBWarFact_A6N Animation = NBWarFact_A6N.NBWarFact_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBWarFact_A6S Animation = NBWarFact_A6S.NBWarFact_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBWarFact_A6SN Animation = NBWarFact_A6SN.NBWarFact_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------------ the construction conveyor belt ------------ Draw = W3DModelDraw ModuleTag_05 OkToChangeModelColor = Yes DefaultConditionState Model = NBWarFact_A7 Animation = NBWarFact_A7.NBWarFact_A7 AnimationMode = LOOP ; Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = SNOW NIGHT AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState = ACTIVELY_CONSTRUCTING Model = NBWarFact_A7 Animation = NBWarFact_A7.NBWarFact_A7 AnimationMode = LOOP ; Flags = START_FRAME_FIRST End AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING AliasConditionState = SNOW ACTIVELY_CONSTRUCTING AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING AliasConditionState = NIGHT DAMAGED ACTIVELY_CONSTRUCTING AliasConditionState = SNOW DAMAGED ACTIVELY_CONSTRUCTING AliasConditionState = SNOW NIGHT DAMAGED ACTIVELY_CONSTRUCTING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE ACTIVELY_CONSTRUCTING AliasConditionState = SNOW REALLYDAMAGED RUBBLE ACTIVELY_CONSTRUCTING AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ACTIVELY_CONSTRUCTING ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A7 Animation = NBWarFact_A7.NBWarFact_A7 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- the factory door ------------------- Draw = W3DModelDraw ModuleTag_06 DefaultConditionState Model = NBWarFact_A8 Animation = NBWarFact_A8.NBWarFact_A8 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = DAMAGED Model = NBWarFact_A8D Animation = NBWarFact_A8D.NBWarFact_A8D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = NBWarFact_A8E Animation = NBWarFact_A8E.NBWarFact_A8E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = NBWarFact_A8 Animation = NBWarFact_A8.NBWarFact_A8 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = NIGHT SNOW DOOR_1_OPENING ConditionState = DOOR_1_OPENING DAMAGED Model = NBWarFact_A8D Animation = NBWarFact_A8D.NBWarFact_A8D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = NBWarFact_A8E Animation = NBWarFact_A8E.NBWarFact_A8E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_CLOSING Model = NBWarFact_A8 Animation = NBWarFact_A8.NBWarFact_A8 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DOOR_1_CLOSING ConditionState = DOOR_1_CLOSING DAMAGED Model = NBWarFact_A8D Animation = NBWarFact_A8D.NBWarFact_A8D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_CLOSING DAMAGED ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = NBWarFact_A8E Animation = NBWarFact_A8E.NBWarFact_A8E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_OPEN Model = NBWarFact_A8 Animation = NBWarFact_A8.NBWarFact_A8 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = NBWarFact_A8D Animation = NBWarFact_A8D.NBWarFact_A8D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN DAMAGED ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = NBWarFact_A8E Animation = NBWarFact_A8E.NBWarFact_A8E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBWarFact_A8D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBWarFact_A8E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5 Animation = NBWarFact_A5.NBWarFact_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5N Animation = NBWarFact_A5N.NBWarFact_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5S Animation = NBWarFact_A5S.NBWarFact_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5SN Animation = NBWarFact_A5SN.NBWarFact_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBWarFact_AB Animation = NBWarFact_AB.NBWarFact_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBWarFact_ABN Animation = NBWarFact_ABN.NBWarFact_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBWarFact_ABS Animation = NBWarFact_ABS.NBWarFact_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBWarFact_ABSN Animation = NBWarFact_ABSN.NBWarFact_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBWarFact_AB Animation = NBWarFact_AB.NBWarFact_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBWarFact_ABN Animation = NBWarFact_ABN.NBWarFact_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBWarFact_ABS Animation = NBWarFact_ABS.NBWarFact_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBWarFact_ABSN Animation = NBWarFact_ABSN.NBWarFact_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:WarFactory Side = ChinaInfantryGeneral EditorSorting = STRUCTURE Prerequisites Object = Infa_ChinaSupplyCenter End BuildCost = 2000 BuildTime = 15.0 ; in seconds EnergyProduction = -1 CommandSet = Infa_ChinaWarFactoryCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = WarFactoryChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE REPAIR_PAD SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_WARFACTORY Body = StructureBody ModuleTag_08 MaxHealth = 2000.0 InitialHealth = 2000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = DestroyDie ModuleTag_09 ;nothing End Behavior = CreateObjectDie ModuleTag_10 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_11 DeathFX = FX_StructureMediumDeath End Behavior = ProductionUpdate ModuleTag_12 NumDoorAnimations = 1 DoorOpeningTime = 4000 ;in mSeconds DoorWaitOpenTime = 2000 ;in mSeconds DoorCloseTime = 5000 ;in mSeconds ConstructionCompleteDuration = 1500 ;in mSeconds End Behavior = DefaultProductionExitUpdate ModuleTag_13 UnitCreatePoint = X: 0.0 Y:-27.0 Z:0.0 NaturalRallyPoint = X: 57.0 Y:-27.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RepairDockUpdate ModuleTag_14 TimeForFullHeal = 5000 ;(in milliseconds) NumberApproachPositions = 5 End Behavior = FlammableUpdate ModuleTag_16 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = GenerateMinefieldBehavior ModuleTag_22 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = TransitionDamageFX ModuleTag_23 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = Infa_ChinaWarFactoryCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Behavior = GrantUpgradeCreate ModuleTag_27 UpgradeToGrant = Upgrade_Nationalism ExemptStatus = UNDER_CONSTRUCTION End Geometry = BOX GeometryMajorRadius = 57.0 GeometryMinorRadius = 61.0 GeometryHeight = 30.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Infa_ChinaPropagandaCenter ; *** ART Parameters *** SelectPortrait = SNPropCentr_L ButtonImage = SNPropCentr Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;day ConditionState = NONE Model = NBPCenter Animation = NBPCenter.NBPCenter AnimationMode = LOOP End ConditionState = DAMAGED Model = NBPCenter_D Animation = NBPCenter_D.NBPCenter_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = NBPCenter_E Animation = NBPCenter_E.NBPCenter_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Spark01 End ;night ConditionState = NIGHT Model = NBPCenter_N Animation = NBPCenter_N.NBPCenter_N AnimationMode = LOOP End ;damaged ConditionState = DAMAGED NIGHT Model = NBPCenter_DN Animation = NBPCenter_DN.NBPCenter_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ;reallydamaged ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBPCenter_EN Animation = NBPCenter_EN.NBPCenter_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Spark01 End ConditionState = SNOW Model = NBPCenter_S Animation = NBPCenter_S.NBPCenter_S AnimationMode = LOOP End ;damaged ConditionState = DAMAGED SNOW Model = NBPCenter_DS Animation = NBPCenter_DS.NBPCenter_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ;reallydamaged ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBPCenter_ES Animation = NBPCenter_ES.NBPCenter_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Spark01 End ;night ConditionState = NIGHT SNOW Model = NBPCenter_NS Animation = NBPCenter_NS.NBPCenter_NS AnimationMode = LOOP End ;damaged ConditionState = DAMAGED NIGHT SNOW Model = NBPCenter_DNS Animation = NBPCenter_DNS.NBPCenter_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ;reallydamaged ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBPCenter_ENS Animation = NBPCenter_ENS.NBPCenter_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Spark01 End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter Animation = NBPCenter.NBPCenter AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBPCenter_D Animation = NBPCenter_D.NBPCenter_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBPCenter_E Animation = NBPCenter_E.NBPCenter_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBPCenter_N Animation = NBPCenter_N.NBPCenter_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBPCenter_DN Animation = NBPCenter_DN.NBPCenter_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBPCenter_EN Animation = NBPCenter_EN.NBPCenter_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBPCenter_S Animation = NBPCenter_S.NBPCenter_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBPCenter_DS Animation = NBPCenter_DS.NBPCenter_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBPCenter_ES Animation = NBPCenter_ES.NBPCenter_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBPCenter_NS Animation = NBPCenter_NS.NBPCenter_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBPCenter_DNS Animation = NBPCenter_DNS.NBPCenter_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBPCenter_ENS Animation = NBPCenter_ENS.NBPCenter_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- the factory door ------------------- Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = NBPCenter_A1 Animation = NBPCenter_A1.NBPCenter_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED AliasConditionState = SNOW REALLYDAMAGED AliasConditionState = NIGHT SNOW REALLYDAMAGED ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED RUBBLE AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED RUBBLE AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED RUBBLE AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A1 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW REALLYDAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT SNOW REALLYDAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ; ConditionState = DAMAGED ; Model = NBPCenter_A1D ; Animation = NBPCenter_A1D.NBPCenter_A1D ; AnimationMode = MANUAL ; Flags = START_FRAME_FIRST ; End ; ConditionState = REALLYDAMAGED RUBBLE ; Model = NBPCenter_A1E ; Animation = NBPCenter_A1E.NBPCenter_A1E ; AnimationMode = MANUAL ; Flags = START_FRAME_FIRST ; End ConditionState = DOOR_1_OPENING Model = NBPCenter_A1 Animation = NBPCenter_A1.NBPCenter_A1 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = NIGHT SNOW DOOR_1_OPENING AliasConditionState = NIGHT DAMAGED DOOR_1_OPENING AliasConditionState = SNOW DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT REALLYDAMAGED DOOR_1_OPENING AliasConditionState = SNOW REALLYDAMAGED DOOR_1_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED DOOR_1_OPENING ; ConditionState = DOOR_1_OPENING DAMAGED ; Model = NBPCenter_A1D ; Animation = NBPCenter_A1D.NBPCenter_A1D ; AnimationMode = ONCE ; Flags = START_FRAME_FIRST ; End ; ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE ; Model = NBPCenter_A1E ; Animation = NBPCenter_A1E.NBPCenter_A1E ; AnimationMode = ONCE ; Flags = START_FRAME_FIRST ; End ConditionState = DOOR_1_CLOSING Model = NBPCenter_A1 Animation = NBPCenter_A1.NBPCenter_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DOOR_1_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_1_CLOSING AliasConditionState = SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT REALLYDAMAGED DOOR_1_CLOSING AliasConditionState = SNOW REALLYDAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED DOOR_1_CLOSING ; ConditionState = DOOR_1_CLOSING DAMAGED ; Model = NBPCenter_A1D ; Animation = NBPCenter_A1D.NBPCenter_A1D ; AnimationMode = ONCE_BACKWARDS ; Flags = START_FRAME_LAST ; End ; ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE ; Model = NBPCenter_A1E ; Animation = NBPCenter_A1E.NBPCenter_A1E ; AnimationMode = ONCE_BACKWARDS ; Flags = START_FRAME_LAST ; End ConditionState = DOOR_1_WAITING_OPEN Model = NBPCenter_A1 Animation = NBPCenter_A1.NBPCenter_A1 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED DOOR_1_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW REALLYDAMAGED DOOR_1_WAITING_OPEN ; ConditionState = DOOR_1_WAITING_OPEN DAMAGED ; Model = NBPCenter_A1D ; Animation = NBPCenter_A1D.NBPCenter_A1D ; AnimationMode = MANUAL ; Flags = START_FRAME_LAST ; End ; ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ; Model = NBPCenter_A1E ; Animation = NBPCenter_A1E.NBPCenter_A1E ; AnimationMode = MANUAL ; Flags = START_FRAME_LAST ; End End ; -------- spreading propaganda flashing lights ---------- Draw = W3DModelDraw ModuleTag_03 DefaultConditionState Model = None End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End ConditionState = CONSTRUCTION_COMPLETE Model = NBPCenter_A2 Animation = NBPCenter_A2.NBPCenter_A2 AnimationMode = LOOP Flags = START_FRAME_FIRST End End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A4 Animation = NBPCenter_A4.NBPCenter_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A4N Animation = NBPCenter_A4N.NBPCenter_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A4S Animation = NBPCenter_A4S.NBPCenter_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A4SN Animation = NBPCenter_A4SN.NBPCenter_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPCenter_A4 Animation = NBPCenter_A4.NBPCenter_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPCenter_A4N Animation = NBPCenter_A4N.NBPCenter_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPCenter_A4S Animation = NBPCenter_A4S.NBPCenter_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPCenter_A4SN Animation = NBPCenter_A4SN.NBPCenter_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPCenter_A4 Animation = NBPCenter_A4.NBPCenter_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPCenter_A4N Animation = NBPCenter_A4N.NBPCenter_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPCenter_A4S Animation = NBPCenter_A4S.NBPCenter_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPCenter_A4SN Animation = NBPCenter_A4SN.NBPCenter_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBPCenter_A6 Animation = NBPCenter_A6.NBPCenter_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBPCenter_A6N Animation = NBPCenter_A6N.NBPCenter_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBPCenter_A6S Animation = NBPCenter_A6S.NBPCenter_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBPCenter_A6SN Animation = NBPCenter_A6SN.NBPCenter_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPCenter_A6 Animation = NBPCenter_A6.NBPCenter_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPCenter_A6N Animation = NBPCenter_A6N.NBPCenter_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPCenter_A6S Animation = NBPCenter_A6S.NBPCenter_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPCenter_A6SN Animation = NBPCenter_A6SN.NBPCenter_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPCenter_A6 Animation = NBPCenter_A6.NBPCenter_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPCenter_A6N Animation = NBPCenter_A6N.NBPCenter_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPCenter_A6S Animation = NBPCenter_A6S.NBPCenter_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPCenter_A6SN Animation = NBPCenter_A6SN.NBPCenter_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_06 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A5 Animation = NBPCenter_A5.NBPCenter_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A5N Animation = NBPCenter_A5N.NBPCenter_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A5S Animation = NBPCenter_A5S.NBPCenter_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A5SN Animation = NBPCenter_A5SN.NBPCenter_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPCenter_AB Animation = NBPCenter_AB.NBPCenter_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPCenter_ABN Animation = NBPCenter_ABN.NBPCenter_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPCenter_ABS Animation = NBPCenter_ABS.NBPCenter_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPCenter_ABSN Animation = NBPCenter_ABSN.NBPCenter_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPCenter_AB Animation = NBPCenter_AB.NBPCenter_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPCenter_ABN Animation = NBPCenter_ABN.NBPCenter_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPCenter_ABS Animation = NBPCenter_ABS.NBPCenter_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPCenter_ABSN Animation = NBPCenter_ABSN.NBPCenter_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:PropagandaCenter Side = ChinaInfantryGeneral EditorSorting = STRUCTURE Prerequisites Object = Infa_ChinaWarFactory End BuildCost = 2000 BuildTime = 45.0 ; in seconds EnergyProduction = -2 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End CommandSet = Infa_ChinaPropagandaCenterCommandSet ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = PropagandaCenterSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY FS_ADVANCED_TECH Body = StructureBody ModuleTag_07 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ProductionUpdate ModuleTag_10 ; End Behavior = DestroyDie ModuleTag_12 ; End Behavior = FXListDie ModuleTag_14 DeathFX = FX_StructureMediumDeath End Behavior = GenerateMinefieldBehavior ModuleTag_15 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = FlammableUpdate ModuleTag_17 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_18 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = Infa_ChinaPropagandaCenterCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Geometry = BOX GeometryMajorRadius = 33.0 GeometryMinorRadius = 57.0 GeometryHeight = 40.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Infa_ChinaGattlingCannon ; *** ART Parameters *** SelectPortrait = SNGatTower_L ButtonImage = SNGatTower UpgradeCameo1 = Upgrade_ChinaChainGuns Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;--------------------- IDLE -------------------------------------------------- ;------------------------------------------------------------------------------- ; DAY DefaultConditionState Model = NBGattling Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = DAMAGED Model = NBGattling_D Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = SmokeM01 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium End ConditionState = REALLYDAMAGED RUBBLE Model = NBGattling_E Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = Smoke01 SmokeFactionMedium ParticleSysBone = Smoke02 SmokeFactionMedium ParticleSysBone = Smoke03 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium ParticleSysBone = SparkM02 SparksMedium End ; NIGHT --------------------------------------------------------------- ConditionState = NIGHT Model = NBGattling_N Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = DAMAGED NIGHT Model = NBGattling_DN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = SmokeM01 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBGattling_EN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = Smoke01 SmokeFactionMedium ParticleSysBone = Smoke02 SmokeFactionMedium ParticleSysBone = Smoke03 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium ParticleSysBone = SparkM02 SparksMedium End ;SNOW --------------------------------------------------------------- ConditionState = SNOW Model = NBGattling_S Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = DAMAGED SNOW Model = NBGattling_DS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = SmokeM01 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBGattling_ES Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = Smoke01 SmokeFactionMedium ParticleSysBone = Smoke02 SmokeFactionMedium ParticleSysBone = Smoke03 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium ParticleSysBone = SparkM02 SparksMedium End ; NIGHT SNOW --------------------------------------------------------------- ConditionState = NIGHT SNOW Model = NBGattling_NS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = DAMAGED NIGHT SNOW Model = NBGattling_DNS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = SmokeM01 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBGattling_ENS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = Smoke01 SmokeFactionMedium ParticleSysBone = Smoke02 SmokeFactionMedium ParticleSysBone = Smoke03 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium ParticleSysBone = SparkM02 SparksMedium End ;---------------- ATTACKING ---------------------------------- ;------------------------------------------------------------- ; DAY ConditionState = ATTACKING Model = NBGattling Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ConditionState = ATTACKING DAMAGED Model = NBGattling_D Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ConditionState = ATTACKING REALLYDAMAGED Model = NBGattling_E Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ;NIGHT --------------------------------------------------------------- ConditionState = ATTACKING NIGHT Model = NBGattling_N Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ConditionState = ATTACKING DAMAGED NIGHT Model = NBGattling_DN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ConditionState = ATTACKING REALLYDAMAGED NIGHT Model = NBGattling_EN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ;SNOW --------------------------------------------------------------- ConditionState = ATTACKING SNOW Model = NBGattling_S Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ConditionState = ATTACKING DAMAGED SNOW Model = NBGattling_DS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ConditionState = ATTACKING REALLYDAMAGED SNOW Model = NBGattling_ES Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ;SNOW NIGHT --------------------------------------------------------------- ConditionState = ATTACKING NIGHT SNOW Model = NBGattling_NS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ConditionState = ATTACKING DAMAGED SNOW NIGHT Model = NBGattling_DNS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ConditionState = ATTACKING REALLYDAMAGED NIGHT SNOW Model = NBGattling_ENS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ;---------------- CONTINUOUS_FIRE_SLOW ----------------------- ;------------------------------------------------------------- ; DAY ConditionState = CONTINUOUS_FIRE_SLOW ATTACKING Model = NBGattling Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_SLOW DAMAGED ATTACKING Model = NBGattling_D Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED ATTACKING Model = NBGattling_E Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ;NIGHT --------------------------------------------------------------- ConditionState = CONTINUOUS_FIRE_SLOW NIGHT ATTACKING Model = NBGattling_N Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_SLOW DAMAGED NIGHT ATTACKING Model = NBGattling_DN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED NIGHT ATTACKING Model = NBGattling_EN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ;SNOW --------------------------------------------------------------- ConditionState = CONTINUOUS_FIRE_SLOW SNOW ATTACKING Model = NBGattling_S Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_SLOW DAMAGED SNOW ATTACKING Model = NBGattling_DS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED SNOW ATTACKING Model = NBGattling_ES Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ;SNOW NIGHT --------------------------------------------------------------- ConditionState = CONTINUOUS_FIRE_SLOW NIGHT SNOW ATTACKING Model = NBGattling_NS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_SLOW DAMAGED SNOW NIGHT ATTACKING Model = NBGattling_DNS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED NIGHT SNOW ATTACKING Model = NBGattling_ENS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ;------------- CONTINUOUS_FIRE_MEAN ------------------------ ;----------------------------------------------------------- ;DAY ConditionState = CONTINUOUS_FIRE_MEAN ATTACKING Model = NBGattling Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_MEAN DAMAGED ATTACKING Model = NBGattling_D Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED ATTACKING Model = NBGattling_E Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ;NIGHT --------------------------------------------------------------- ConditionState = CONTINUOUS_FIRE_MEAN NIGHT ATTACKING Model = NBGattling_N Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_MEAN DAMAGED NIGHT ATTACKING Model = NBGattling_DN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED NIGHT ATTACKING Model = NBGattling_EN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ;SNOW --------------------------------------------------------------- ConditionState = CONTINUOUS_FIRE_MEAN SNOW ATTACKING Model = NBGattling_S Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_MEAN DAMAGED SNOW ATTACKING Model = NBGattling_DS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED SNOW ATTACKING Model = NBGattling_ES Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ;NIGHT SNOW --------------------------------------------------------------- ConditionState = CONTINUOUS_FIRE_MEAN NIGHT SNOW ATTACKING Model = NBGattling_NS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_MEAN DAMAGED SNOW NIGHT ATTACKING Model = NBGattling_DNS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED NIGHT SNOW ATTACKING Model = NBGattling_ENS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ;------------- CONTINUOUS_FIRE_FAST ------------------------ ;DAY ConditionState = CONTINUOUS_FIRE_FAST ATTACKING Model = NBGattling Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ConditionState = CONTINUOUS_FIRE_FAST DAMAGED ATTACKING Model = NBGattling_D Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED ATTACKING Model = NBGattling_E Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ;NIGHT --------------------------------------------------------------- ConditionState = CONTINUOUS_FIRE_FAST NIGHT ATTACKING Model = NBGattling_N Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ConditionState = CONTINUOUS_FIRE_FAST DAMAGED NIGHT ATTACKING Model = NBGattling_DN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED NIGHT ATTACKING Model = NBGattling_EN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ;SNOW --------------------------------------------------------------- ConditionState = CONTINUOUS_FIRE_FAST SNOW ATTACKING Model = NBGattling_S Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ConditionState = CONTINUOUS_FIRE_FAST DAMAGED SNOW ATTACKING Model = NBGattling_NS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED SNOW ATTACKING Model = NBGattling_ES Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst End ;NIGHT SNOW --------------------------------------------------------------- ConditionState = CONTINUOUS_FIRE_FAST NIGHT SNOW ATTACKING Model = NBGattling_NS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ConditionState = CONTINUOUS_FIRE_FAST DAMAGED SNOW NIGHT ATTACKING Model = NBGattling_DNS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED NIGHT SNOW ATTACKING Model = NBGattling_ENS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBGattling Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBGattling_D Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBGattling_E Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBGattling_N Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBGattling_DN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBGattling_EN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBGattling_S Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBGattling_DS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBGattling_ES Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBGattling_NS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBGattling_DNS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBGattling_ENS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBGattling_A4 Animation = NBGattling_A4.NBGattling_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBGattling_A4N Animation = NBGattling_A4N.NBGattling_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBGattling_A4S Animation = NBGattling_A4S.NBGattling_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBGattling_A4SN Animation = NBGattling_A4SN.NBGattling_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBGattling_A4 Animation = NBGattling_A4.NBGattling_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBGattling_A4N Animation = NBGattling_A4N.NBGattling_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBGattling_A4S Animation = NBGattling_A4S.NBGattling_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBGattling_A4SN Animation = NBGattling_A4SN.NBGattling_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBGattling_A4 Animation = NBGattling_A4.NBGattling_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBGattling_A4N Animation = NBGattling_A4N.NBGattling_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBGattling_A4S Animation = NBGattling_A4S.NBGattling_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBGattling_A4SN Animation = NBGattling_A4SN.NBGattling_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBGattling_A6 Animation = NBGattling_A6.NBGattling_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBGattling_A6N Animation = NBGattling_A6N.NBGattling_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBGattling_A6S Animation = NBGattling_A6S.NBGattling_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBGattling_A6SN Animation = NBGattling_A6SN.NBGattling_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBGattling_A6 Animation = NBGattling_A6.NBGattling_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBGattling_A6N Animation = NBGattling_A6N.NBGattling_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBGattling_A6S Animation = NBGattling_A6S.NBGattling_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBGattling_A6SN Animation = NBGattling_A6SN.NBGattling_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBGattling_A6 Animation = NBGattling_A6.NBGattling_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBGattling_A6N Animation = NBGattling_A6N.NBGattling_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBGattling_A6S Animation = NBGattling_A6S.NBGattling_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBGattling_A6SN Animation = NBGattling_A6SN.NBGattling_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:GattlingCannon Side = ChinaInfantryGeneral EditorSorting = STRUCTURE Prerequisites Object = Infa_ChinaPowerPlant End BuildCost = 1200 BuildTime = 25.0 ; in seconds EnergyProduction = -3 ExperienceValue = 200 200 200 200 ; Experience point value at each level WeaponSet Conditions = None Weapon = PRIMARY GattlingBuildingGun AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT Weapon = SECONDARY GattlingBuildingGunAir AutoChooseSources = SECONDARY FROM_PLAYER FROM_AI FROM_SCRIPT PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT End VisionRange = 360.0 ; Shroud clearing distance AND targeting range ShroudClearingRange = 360 ArmorSet Conditions = None Armor = BaseDefenseArmor DamageFX = StructureDamageFXNoShake End CommandSet = ChinaGattlingCannonCommandSet ;Behavior = AIUpdateInterface ModuleTag_20 ; AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS ; MoodAttackCheckRate = 250 ;End ; *** AUDIO Parameters *** VoiceSelect = GattlingCannonSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop VoiceRapidFire = NoSound End UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;These aren't playing properly (mdp) TurretMoveLoopLoud End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE SCORE FS_BASE_DEFENSE POWERED IMMUNE_TO_CAPTURE Body = StructureBody ModuleTag_05 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = StealthDetectorUpdate ModuleTag_13 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 200 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = GenerateMinefieldBehavior ModuleTag_04 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = AIUpdateInterface ModuleTag_06 Turret ControlledWeaponSlots = PRIMARY SECONDARY TurretTurnRate = 180 // turn rate, in degrees per sec TurretPitchRate = 180 AllowsPitch = Yes FiresWhileTurning = Yes NaturalTurretPitch = 45 ; this keeps it aimed half way between land and sky MinIdleScanInterval = 250 ; in milliseconds MaxIdleScanInterval = 250 ; in milliseconds MinIdleScanAngle = 0 ; in degrees off the natural turret angle MaxIdleScanAngle = 360 ; in degrees off the natural turret angle End AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS; defensive weapon MoodAttackCheckRate = 250 End Behavior = ProductionUpdate ModuleTag_07 ; nothing, but is required if we have any Object-level Upgrades! End Behavior = DestroyDie ModuleTag_08 ;nothing End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureTinyDeath End Behavior = ProductionUpdate ModuleTag_10 ; nothing End Behavior = CreateObjectDie ModuleTag_11 CreationList = OCL_LargeStructureDebris End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_14 ;-------------DESIGNED FOR TINY SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionTinyExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionTinyShockwave End Behavior = WeaponBonusUpgrade ModuleTag_15 TriggeredBy = Upgrade_ChinaChainGuns End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = ChinaGattlingCannonCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Geometry = BOX GeometryMajorRadius = 8.0 GeometryMinorRadius = 8.0 GeometryHeight = 20.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Infa_ChinaInternetCenter ; *** ART Parameters *** ; ------------ the main building itself ----------------- SelectPortrait = SNIntCnt_L ButtonImage = SNIntCnt UpgradeCameo1 = Upgrade_ChinaSatelliteHackOne UpgradeCameo2 = Upgrade_ChinaSatelliteHackTwo Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; DAY ************************************ DefaultConditionState Model = NBINTCNT Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2 Animation = NBINTCNT_A2.NBINTCNT_A2 AnimationMode = ONCE End ConditionState = USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2F Animation = NBINTCNT_A2F.NBINTCNT_A2F AnimationMode = ONCE End ConditionState = DAMAGED Model = NBINTCNT_D End ConditionState = DAMAGED USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2D Animation = NBINTCNT_A2D.NBINTCNT_A2D AnimationMode = ONCE End ConditionState = DAMAGED USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FD Animation = NBINTCNT_A2FD.NBINTCNT_A2FD AnimationMode = ONCE End ConditionState = REALLYDAMAGED Model = NBINTCNT_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmokeFactionLarge ParticleSysBone = Smoke06 SmokeFactionLarge ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 FireFactionLarge End AliasConditionState = RUBBLE ConditionState = REALLYDAMAGED USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2E Animation = NBINTCNT_A2E.NBINTCNT_A2E AnimationMode = ONCE End AliasConditionState = RUBBLE USER_1 ConditionState = REALLYDAMAGED USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FE Animation = NBINTCNT_A2FE.NBINTCNT_A2FE AnimationMode = ONCE End AliasConditionState = RUBBLE USER_1 USER_2 ;NIGHT *********************************** ConditionState = NIGHT Model = NBINTCNT_N End ConditionState = NIGHT USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2N Animation = NBINTCNT_A2N.NBINTCNT_A2N AnimationMode = ONCE End ConditionState = NIGHT USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FN Animation = NBINTCNT_A2FN.NBINTCNT_A2FN AnimationMode = ONCE End ConditionState = DAMAGED NIGHT Model = NBINTCNT_DN End ConditionState = DAMAGED NIGHT USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2DN Animation = NBINTCNT_A2DN.NBINTCNT_A2DN AnimationMode = ONCE End ConditionState = DAMAGED NIGHT USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FDN Animation = NBINTCNT_A2FDN.NBINTCNT_A2FDN AnimationMode = ONCE End ConditionState = REALLYDAMAGED NIGHT Model = NBINTCNT_EN ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmokeFactionLarge ParticleSysBone = Smoke06 SmokeFactionLarge ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 FireFactionLarge End AliasConditionState = RUBBLE NIGHT ConditionState = REALLYDAMAGED NIGHT USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2EN Animation = NBINTCNT_A2EN.NBINTCNT_A2EN AnimationMode = ONCE End AliasConditionState = RUBBLE NIGHT USER_1 ConditionState = REALLYDAMAGED NIGHT USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FEN Animation = NBINTCNT_A2FEN.NBINTCNT_A2FEN AnimationMode = ONCE End AliasConditionState = RUBBLE NIGHT USER_1 USER_2 ;SNOW ************************************* ConditionState = SNOW Model = NBINTCNT_S End ConditionState = SNOW USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2S Animation = NBINTCNT_A2S.NBINTCNT_A2S AnimationMode = ONCE End ConditionState = SNOW USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FS Animation = NBINTCNT_A2FS.NBINTCNT_A2FS AnimationMode = ONCE End ConditionState = DAMAGED SNOW Model = NBINTCNT_DS End ConditionState = DAMAGED SNOW USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2DS Animation = NBINTCNT_A2DS.NBINTCNT_A2DS AnimationMode = ONCE End ConditionState = DAMAGED SNOW USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FDS Animation = NBINTCNT_A2FDS.NBINTCNT_A2FDS AnimationMode = ONCE End ConditionState = REALLYDAMAGED SNOW Model = NBINTCNT_ES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmokeFactionLarge ParticleSysBone = Smoke06 SmokeFactionLarge ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 FireFactionLarge End AliasConditionState = RUBBLE SNOW ConditionState = REALLYDAMAGED SNOW USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2ES Animation = NBINTCNT_A2ES.NBINTCNT_A2ES AnimationMode = ONCE End AliasConditionState = RUBBLE SNOW USER_1 ConditionState = REALLYDAMAGED SNOW USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FES Animation = NBINTCNT_A2FES.NBINTCNT_A2FES AnimationMode = ONCE End AliasConditionState = RUBBLE SNOW USER_1 USER_2 ;NIGHT SNOW ***************************** ConditionState = NIGHT SNOW Model = NBINTCNT_NS End ConditionState = NIGHT SNOW USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2NS Animation = NBINTCNT_A2NS.NBINTCNT_A2NS AnimationMode = ONCE End ConditionState = NIGHT SNOW USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FNS Animation = NBINTCNT_A2FNS.NBINTCNT_A2FNS AnimationMode = ONCE End ConditionState = DAMAGED NIGHT SNOW Model = NBINTCNT_DNS End ConditionState = DAMAGED NIGHT SNOW USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2DNS Animation = NBINTCNT_A2DNS.NBINTCNT_A2DNS AnimationMode = ONCE End ConditionState = DAMAGED NIGHT SNOW USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FDNS Animation = NBINTCNT_A2FDNS.NBINTCNT_A2FDNS AnimationMode = ONCE End ConditionState = REALLYDAMAGED NIGHT SNOW Model = NBINTCNT_ENS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmokeFactionLarge ParticleSysBone = Smoke06 SmokeFactionLarge ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 FireFactionLarge End AliasConditionState = RUBBLE NIGHT SNOW ConditionState = REALLYDAMAGED NIGHT SNOW USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2ENS Animation = NBINTCNT_A2ENS.NBINTCNT_A2ENS AnimationMode = ONCE End AliasConditionState = RUBBLE NIGHT SNOW USER_1 ConditionState = REALLYDAMAGED NIGHT SNOW USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FENS Animation = NBINTCNT_A2FENS.NBINTCNT_A2FENS AnimationMode = ONCE End AliasConditionState = RUBBLE NIGHT SNOW USER_1 USER_2 ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBINTCNT Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBINTCNT_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBINTCNT_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBINTCNT_N Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBINTCNT_DN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBINTCNT_EN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBINTCNT_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBINTCNT_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBINTCNT_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBINTCNT_NS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBINTCNT_DNS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBINTCNT_ENS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION DAMAGED USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION NIGHT USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION SNOW USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED USER_1 USER_2 AliasConditionState = SOLD USER_1 USER_2 AliasConditionState = SOLD DAMAGED USER_1 USER_2 AliasConditionState = SOLD REALLYDAMAGED USER_1 USER_2 AliasConditionState = SOLD NIGHT USER_1 USER_2 AliasConditionState = SOLD NIGHT DAMAGED USER_1 USER_2 AliasConditionState = SOLD NIGHT REALLYDAMAGED USER_1 USER_2 AliasConditionState = SOLD SNOW USER_1 USER_2 AliasConditionState = SOLD SNOW DAMAGED USER_1 USER_2 AliasConditionState = SOLD SNOW REALLYDAMAGED USER_1 USER_2 AliasConditionState = SOLD NIGHT SNOW USER_1 USER_2 AliasConditionState = SOLD NIGHT SNOW DAMAGED USER_1 USER_2 AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED USER_1 USER_2 ;************************************************************************************************************************** End ; ------------ Fan in back -------------- Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = NBINTCNT_F Animation = NBINTCNT_F.NBINTCNT_F AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End End ; ------------- First Satellite ----------- Draw = W3DModelDraw ModuleTag_03 ConditionState = NONE Model = None TransitionKey = Trans_Down End AliasConditionState = SOLD AliasConditionState = AWAITING_CONSTRUCTION AliasConditionState = ACTIVELY_BEING_CONSTRUCTED AliasConditionState = AWAITING_CONSTRUCTION USER_1 AliasConditionState = ACTIVELY_BEING_CONSTRUCTED USER_1 ConditionState = DAMAGED Model = None TransitionKey = Trans_Down_Damaged End AliasConditionState = SOLD DAMAGED AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = AWAITING_CONSTRUCTION USER_1 DAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED USER_1 DAMAGED ConditionState = REALLYDAMAGED Model = None TransitionKey = Trans_Down_Really_Damaged End AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION USER_1 REALLYDAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED USER_1 REALLYDAMAGED TransitionState = Trans_Down Trans_Up Model = NBINTCNT_AB Animation = NBINTCNT_AB.NBINTCNT_AB AnimationMode = ONCE End TransitionState = Trans_Down_Damaged Trans_Up_Damaged Model = NBINTCNT_DAB Animation = NBINTCNT_DAB.NBINTCNT_DAB AnimationMode = ONCE End TransitionState = Trans_Down_Really_Damaged Trans_Up_Really_Damaged Model = NBINTCNT_EAB Animation = NBINTCNT_EAB.NBINTCNT_EAB AnimationMode = ONCE End ConditionState = USER_1 Model = NBINTCNT_AC Animation = NBINTCNT_AC.NBINTCNT_AC AnimationMode = LOOP TransitionKey = Trans_Up Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = USER_1 DAMAGED Model = NBINTCNT_DAC Animation = NBINTCNT_DAC.NBINTCNT_DAC AnimationMode = LOOP TransitionKey = Trans_Up_Damaged Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = USER_1 REALLYDAMAGED Model = NBINTCNT_EAC Animation = NBINTCNT_EAC.NBINTCNT_EAC AnimationMode = LOOP TransitionKey = Trans_Up_Really_Damaged Flags = MAINTAIN_FRAME_ACROSS_STATES End TransitionState = Trans_Up Trans_Down Model = NBINTCNT_AB Animation = NBINTCNT_AB.NBINTCNT_AB AnimationMode = ONCE_BACKWARDS End TransitionState = Trans_Up_Damaged Trans_Down_Damaged Model = NBINTCNT_DAB Animation = NBINTCNT_DAB.NBINTCNT_DAB AnimationMode = ONCE_BACKWARDS End TransitionState = Trans_Up_Really_Damaged Trans_Down_Really_Damaged Model = NBINTCNT_EAB Animation = NBINTCNT_EAB.NBINTCNT_EAB AnimationMode = ONCE_BACKWARDS End End ; ------------- Second Satellite ----------- Draw = W3DModelDraw ModuleTag_04 ConditionState = NONE Model = None TransitionKey = Trans_Down End AliasConditionState = SOLD AliasConditionState = AWAITING_CONSTRUCTION AliasConditionState = ACTIVELY_BEING_CONSTRUCTED AliasConditionState = AWAITING_CONSTRUCTION USER_1 AliasConditionState = ACTIVELY_BEING_CONSTRUCTED USER_1 ConditionState = DAMAGED Model = None TransitionKey = Trans_Down_Damaged End AliasConditionState = SOLD DAMAGED AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = AWAITING_CONSTRUCTION USER_1 DAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED USER_1 DAMAGED ConditionState = REALLYDAMAGED Model = None TransitionKey = Trans_Down_Really_Damaged End AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION USER_1 REALLYDAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED USER_1 REALLYDAMAGED TransitionState = Trans_Down Trans_Up Model = NBINTCNT_AF Animation = NBINTCNT_AF.NBINTCNT_AF AnimationMode = ONCE End TransitionState = Trans_Down_Damaged Trans_Up_Damaged Model = NBINTCNT_DAF Animation = NBINTCNT_DAF.NBINTCNT_DAF AnimationMode = ONCE End TransitionState = Trans_Down_Really_Damaged Trans_Up_Really_Damaged Model = NBINTCNT_EAF Animation = NBINTCNT_EAF.NBINTCNT_EAF AnimationMode = ONCE End ConditionState = USER_2 Model = NBINTCNT_AG Animation = NBINTCNT_AG.NBINTCNT_AG AnimationMode = LOOP TransitionKey = Trans_Up Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = USER_2 DAMAGED Model = NBINTCNT_DAG Animation = NBINTCNT_DAG.NBINTCNT_DAG AnimationMode = LOOP TransitionKey = Trans_Up_Damaged Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = USER_2 REALLYDAMAGED Model = NBINTCNT_EAG Animation = NBINTCNT_EAG.NBINTCNT_EAG AnimationMode = LOOP TransitionKey = Trans_Up_Really_Damaged Flags = MAINTAIN_FRAME_ACROSS_STATES End TransitionState = Trans_Up Trans_Down Model = NBINTCNT_AF Animation = NBINTCNT_AF.NBINTCNT_AF AnimationMode = ONCE_BACKWARDS End TransitionState = Trans_Up_Damaged Trans_Down_Damaged Model = NBINTCNT_DAF Animation = NBINTCNT_DAF.NBINTCNT_DAF AnimationMode = ONCE_BACKWARDS End TransitionState = Trans_Up_Really_Damaged Trans_Down_Really_Damaged Model = NBINTCNT_EAF Animation = NBINTCNT_EAF.NBINTCNT_EAF AnimationMode = ONCE_BACKWARDS End End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A4 Animation = NBSupCent_A4.NBSupCent_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A4N Animation = NBSupCent_A4N.NBSupCent_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A4S Animation = NBSupCent_A4S.NBSupCent_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A4SN Animation = NBSupCent_A4SN.NBSupCent_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBSupCent_A4 Animation = NBSupCent_A4.NBSupCent_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBSupCent_A4N Animation = NBSupCent_A4N.NBSupCent_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBSupCent_A4S Animation = NBSupCent_A4S.NBSupCent_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBSupCent_A4SN Animation = NBSupCent_A4SN.NBSupCent_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBSupCent_A4 Animation = NBSupCent_A4.NBSupCent_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBSupCent_A4N Animation = NBSupCent_A4N.NBSupCent_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBSupCent_A4S Animation = NBSupCent_A4S.NBSupCent_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBSupCent_A4SN Animation = NBSupCent_A4SN.NBSupCent_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_06 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBSupCent_A6 Animation = NBSupCent_A6.NBSupCent_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBSupCent_A6N Animation = NBSupCent_A6N.NBSupCent_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBSupCent_A6S Animation = NBSupCent_A6S.NBSupCent_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBSupCent_A6SN Animation = NBSupCent_A6SN.NBSupCent_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBSupCent_A6 Animation = NBSupCent_A6.NBSupCent_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBSupCent_A6N Animation = NBSupCent_A6N.NBSupCent_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBSupCent_A6S Animation = NBSupCent_A6S.NBSupCent_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBSupCent_A6SN Animation = NBSupCent_A6SN.NBSupCent_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBSupCent_A6 Animation = NBSupCent_A6.NBSupCent_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBSupCent_A6N Animation = NBSupCent_A6N.NBSupCent_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBSupCent_A6S Animation = NBSupCent_A6S.NBSupCent_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBSupCent_A6SN Animation = NBSupCent_A6SN.NBSupCent_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5 Animation = NBSupCent_A5.NBSupCent_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5N Animation = NBSupCent_A5N.NBSupCent_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5S Animation = NBSupCent_A5S.NBSupCent_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5SN Animation = NBSupCent_A5SN.NBSupCent_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBSupCent_AB Animation = NBSupCent_AB.NBSupCent_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBSupCent_ABN Animation = NBSupCent_ABN.NBSupCent_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBSupCent_ABS Animation = NBSupCent_ABS.NBSupCent_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBSupCent_ABSN Animation = NBSupCent_ABSN.NBSupCent_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBSupCent_AB Animation = NBSupCent_AB.NBSupCent_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBSupCent_ABN Animation = NBSupCent_ABN.NBSupCent_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBSupCent_ABS Animation = NBSupCent_ABS.NBSupCent_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBSupCent_ABSN Animation = NBSupCent_ABSN.NBSupCent_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:InternetCenter Side = ChinaInfantryGeneral EditorSorting = STRUCTURE BuildCost = 2500 BuildTime = 30.0 ; in seconds EnergyProduction = 0 CommandSet = Infa_ChinaInternetCenterCommandSetOne VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmorInternetCenter DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level Prerequisites Object = Infa_ChinaWarFactory End ;******************************************************************************************************************* MaxSimultaneousOfType = 1 ; *** Kris: DO NOT INCREASE THIS NUMBER -- UNLESS YOU WANT TO INTRODUCE A LOT OF BUGS! *** ;******************************************************************************************************************* ; *** AUDIO Parameters *** VoiceSelect = CommandCenterChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE IMMUNE_TO_CAPTURE MP_COUNT_FOR_VICTORY CAN_ATTACK FS_INTERNET_CENTER Body = StructureBody ModuleTag_08 MaxHealth = 2500.0 InitialHealth = 2500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2700 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = InternetHackContain ModuleTag_10 ; Contain module that gives aiHackInternet command to passengers PassengersAllowedToFire = No Slots = 8 ScatterNearbyOnExit = No HealthRegen%PerSec = 10 DamagePercentToUnits = 50% AllowInsideKindOf = MONEY_HACKER ExitDelay = 500 NumberOfExitPaths = 1 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = No ; AI Will tell people to set their mood to Aggressive on exiting End Behavior = DestroyDie ModuleTag_12 ;nothing End Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_14 DeathFX = FX_StructureMediumDeath End Behavior = SpyVisionUpdate ModuleTag_15 NeedsUpgrade = Yes SelfPowered = Yes ; No SpecialPower module, turns self on and off on timers (No timers means always on) SpyOnKindof = COMMANDCENTER ; Defaults to ALL TriggeredBy = Upgrade_ChinaSatelliteHackOne End Behavior = SpyVisionUpdate ModuleTag_16 NeedsUpgrade = Yes SelfPowered = Yes ; No SpecialPower module, turns self on and off on timers SelfPoweredDuration = 20000 SelfPoweredInterval = 240000 TriggeredBy = Upgrade_ChinaSatelliteHackTwo End Behavior = ArmorUpgrade ModuleTag_30 TriggeredBy = Upgrade_ChinaEMPMines End Behavior = CommandSetUpgrade ModuleTag_31 CommandSet = Infa_ChinaInternetCenterCommandSetOneUpgrade TriggeredBy = Upgrade_ChinaMines CommandSetAlt = Infa_ChinaInternetCenterCommandSetTwoUpgrade TriggerAlt = Upgrade_ChinaSatelliteHackOne End Behavior = CommandSetUpgrade ModuleTag_32 CommandSet = Infa_ChinaInternetCenterCommandSetTwo TriggeredBy = Upgrade_ChinaSatelliteHackOne CommandSetAlt = Infa_ChinaInternetCenterCommandSetTwoUpgrade TriggerAlt = Upgrade_ChinaMines End Behavior = ModelConditionUpgrade ModuleTag_18 ConditionFlag = USER_1 TriggeredBy = Upgrade_ChinaSatelliteHackOne End Behavior = ModelConditionUpgrade ModuleTag_19 ConditionFlag = USER_2 TriggeredBy = Upgrade_ChinaSatelliteHackTwo End Behavior = ProductionUpdate ModuleTag_22 End Behavior = GenerateMinefieldBehavior ModuleTag_23 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = FlammableUpdate ModuleTag_24 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_25 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 50.0 GeometryMinorRadius = 50.0 GeometryHeight = 36.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Infa_ChinaBunker ; *** ART Parameters *** SelectPortrait = SNSuperBunk_L ButtonImage = SNSuperBunk Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;day ConditionState = NONE Model = NBBunkerI End ConditionState = DAMAGED Model = NBBunkerI_D ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE Model = NBBunkerI_E ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire04 SmolderingFlameCore ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire05 SmolderingFlameCore ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End ConditionState = GARRISONED Model = NBBunkerI_G End ConditionState = DAMAGED GARRISONED Model = NBBunkerI_DG ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE GARRISONED Model = NBBunkerI_EG ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire04 SmolderingFlameCore ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire05 SmolderingFlameCore ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End ConditionState = SNOW Model = NBBunkerI_S End ConditionState = DAMAGED SNOW Model = NBBunkerI_DS ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBBunkerI_ES ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire04 SmolderingFlameCore ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire05 SmolderingFlameCore ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End ConditionState = SNOW GARRISONED Model = NBBunkerI_SG End ConditionState = DAMAGED SNOW GARRISONED Model = NBBunkerI_DSG ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE SNOW GARRISONED Model = NBBunkerI_ESG ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire04 SmolderingFlameCore ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire05 SmolderingFlameCore ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End ;night ConditionState = NIGHT Model = NBBunkerI_N End ConditionState = DAMAGED NIGHT Model = NBBunkerI_DN ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBBunkerI_EN ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire04 SmolderingFlameCore ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire05 SmolderingFlameCore ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End ;night ConditionState = NIGHT GARRISONED Model = NBBunkerI_NG End ConditionState = DAMAGED NIGHT GARRISONED Model = NBBunkerI_DNG ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE NIGHT GARRISONED Model = NBBunkerI_ENG ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire04 SmolderingFlameCore ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire05 SmolderingFlameCore ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End ;night snow ConditionState = NIGHT SNOW Model = NBBunkerI_NS End ConditionState = DAMAGED NIGHT SNOW Model = NBBunkerI_DNS ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBBunkerI_ENS ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire04 SmolderingFlameCore ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire05 SmolderingFlameCore ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End ;night snow ConditionState = NIGHT SNOW GARRISONED Model = NBBunkerI_NSG End ConditionState = DAMAGED NIGHT SNOW GARRISONED Model = NBBunkerI_DNSG ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW GARRISONED Model = NBBunkerI_ENSG ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire04 SmolderingFlameCore ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire05 SmolderingFlameCore ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBunkerI ;Animation = NBBunkerI.NBBunkerI ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBBunkerI_D ;Animation = NBBunkerI_D.NBBunkerI_D ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBBunkerI_E ;Animation = NBBunkerI_E.NBBunkerI_E ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBBunkerI_N ;Animation = NBBunkerI_N.NBBunkerI_N ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBBunkerI_DN ;Animation = NBBunkerI_DN.NBBunkerI_DN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBBunkerI_EN ;Animation = NBBunkerI_EN.NBBunkerI_EN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBBunkerI_S ;Animation = NBBunkerI_S.NBBunkerI_S ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBBunkerI_DS ;Animation = NBBunkerI_DS.NBBunkerI_DS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBBunkerI_ES ;Animation = NBBunkerI_ES.NBBunkerI_ES ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBBunkerI_NS ;Animation = NBBunkerI_NS.NBBunkerI_NS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBBunkerI_DNS ;Animation = NBBunkerI_DNS.NBBunkerI_DNS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBBunkerI_ENS ; Animation = NBBunkerI_ENS.NBBunkerI_ENS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD GARRISONED AliasConditionState = SOLD DAMAGED GARRISONED AliasConditionState = SOLD REALLYDAMAGED GARRISONED AliasConditionState = SOLD NIGHT GARRISONED AliasConditionState = SOLD NIGHT DAMAGED GARRISONED AliasConditionState = SOLD NIGHT REALLYDAMAGED GARRISONED AliasConditionState = SOLD SNOW GARRISONED AliasConditionState = SOLD SNOW DAMAGED GARRISONED AliasConditionState = SOLD SNOW REALLYDAMAGED GARRISONED AliasConditionState = SOLD NIGHT SNOW GARRISONED AliasConditionState = SOLD NIGHT SNOW DAMAGED GARRISONED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED GARRISONED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBunker_A4 Animation = NBBunker_A4.NBBunker_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBunker_A4N Animation = NBBunker_A4N.NBBunker_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBunker_A4S Animation = NBBunker_A4S.NBBunker_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBunker_A4SN Animation = NBBunker_A4SN.NBBunker_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBBunker_A4 Animation = NBBunker_A4.NBBunker_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBBunker_A4N Animation = NBBunker_A4N.NBBunker_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBBunker_A4S Animation = NBBunker_A4S.NBBunker_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBBunker_A4SN Animation = NBBunker_A4SN.NBBunker_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBBunker_A4 Animation = NBBunker_A4.NBBunker_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBBunker_A4N Animation = NBBunker_A4N.NBBunker_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBBunker_A4S Animation = NBBunker_A4S.NBBunker_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBBunker_A4SN Animation = NBBunker_A4SN.NBBunker_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBBunker_A6 Animation = NBBunker_A6.NBBunker_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBBunker_A6N Animation = NBBunker_A6N.NBBunker_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBBunker_A6S Animation = NBBunker_A6S.NBBunker_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBBunker_A6SN Animation = NBBunker_A6SN.NBBunker_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBBunker_A6 Animation = NBBunker_A6.NBBunker_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBBunker_A6N Animation = NBBunker_A6N.NBBunker_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBBunker_A6S Animation = NBBunker_A6S.NBBunker_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBBunker_A6SN Animation = NBBunker_A6SN.NBBunker_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBBunker_A6 Animation = NBBunker_A6.NBBunker_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBBunker_A6N Animation = NBBunker_A6N.NBBunker_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBBunker_A6S Animation = NBBunker_A6S.NBBunker_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBBunker_A6SN Animation = NBBunker_A6SN.NBBunker_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBBunker_A5 Animation = NBBunker_A5.NBBunker_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBBunker_A5N Animation = NBBunker_A5N.NBBunker_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBBunker_A5S Animation = NBBunker_A5S.NBBunker_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBBunker_A5SN Animation = NBBunker_A5SN.NBBunker_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBBunker_AB Animation = NBBunker_AB.NBBunker_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBBunker_ABN Animation = NBBunker_ABN.NBBunker_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBBunker_ABS Animation = NBBunker_ABS.NBBunker_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBBunker_ABSN Animation = NBBunker_ABSN.NBBunker_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBBunker_AB Animation = NBBunker_AB.NBBunker_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBBunker_ABN Animation = NBBunker_ABN.NBBunker_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBBunker_ABS Animation = NBBunker_ABS.NBBunker_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBBunker_ABSN Animation = NBBunker_ABSN.NBBunker_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** ;rto look here DisplayName = OBJECT:Infa_Bunker Side = ChinaInfantryGeneral EditorSorting = STRUCTURE Prerequisites Object = Infa_ChinaBarracks End BuildCost = 700 BuildTime = 8.0 ; in seconds EnergyProduction = 0 VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End CommandSet = Infa_ChinaBunkerCommandSetUpgrade ; *** AUDIO Parameters *** VoiceSelect = BunkerSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** KindOf = PRELOAD STRUCTURE SELECTABLE STICK_TO_TERRAIN_SLOPE IMMOBILE SCORE FS_BASE_DEFENSE GARRISONABLE_UNTIL_DESTROYED IMMUNE_TO_CAPTURE Body = StructureBody ModuleTag_05 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End ; Behavior = FXListDie ModuleTag_07 ; DeathFX = FX_SmallStructureDeath ; End ExperienceValue = 20 20 20 20 ; Experience point value at each level Behavior = GarrisonContain ModuleTag_08 ContainMax = 10 EnterSound = GarrisonEnter ExitSound = GarrisonExit ImmuneToClearBuildingAttacks = Yes End Behavior = GenerateMinefieldBehavior ModuleTag_09 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = ProductionUpdate ModuleTag_10 ; nothing, but is required if we have any Object-level Upgrades! End Behavior = GrantUpgradeCreate ModuleTag_11 UpgradeToGrant = Upgrade_ChinaMines ExemptStatus = UNDER_CONSTRUCTION End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_14 DeathFX = FX_StructureSmallDeath End Behavior = DestroyDie ModuleTag_06 ;nothing End Behavior = TransitionDamageFX ModuleTag_15 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = Infa_ChinaBunkerCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Geometry = BOX GeometryMajorRadius = 16.0 GeometryMinorRadius = 16.0 GeometryHeight = 20.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Infa_ChinaInfantryMiniGunner ; *** ART Parameters *** SelectPortrait = SNMiniGunner_L ButtonImage = SNMiniGunner UpgradeCameo1 = Upgrade_Fanaticism UpgradeCameo2 = Upgrade_InfantryCaptureBuilding ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; this says "we don't use these condition states at all, so completely ; ignore them for purposes of matchmaking"... this is useful to help ; reduce the number of AliasConditionState clauses you must add in ; order to avoid ambiguity in some cases. IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A ; ------- Standing-Around Animations DefaultConditionState Model = NICNSCI_SKN IdleAnimation = NICNSC_SKL.NICNSC_STA 0 35 IdleAnimation = NICNSC_SKL.NICNSC_IDA IdleAnimation = NICNSC_SKL.NICNSC_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX TransitionKey = TRANS_Stand End ConditionState = REALLYDAMAGED IdleAnimation = NICNSC_SKL.NICNSC_STB AnimationMode = ONCE TransitionKey = TRANS_StandDamaged End ; ------- Machine Gun Animations ConditionState = USING_WEAPON_A Animation = NICNSC_SKL.NICNSC_ATA AnimationMode = LOOP TransitionKey = TRANS_Firing End ConditionState = USING_WEAPON_A REALLYDAMAGED Animation = NICNSC_SKL.NICNSC_ATC AnimationMode = LOOP TransitionKey = TRANS_FiringDamaged End ConditionState = USING_WEAPON_B Animation = NICNSC_SKL.NICNSC_ATA2 AnimationMode = LOOP ; TransitionKey = TRANS_Firing End ConditionState = USING_WEAPON_B REALLYDAMAGED Animation = NICNSC_SKL.NICNSC_ATC2 AnimationMode = LOOP ; TransitionKey = TRANS_FiringDamaged End ; ------- Firing-related Transitions TransitionState = TRANS_Firing TRANS_FiringDamaged Animation = NICNSC_SKL.NICNSC_AA2AC AnimationMode = ONCE End TransitionState = TRANS_Stand TRANS_Firing Animation = NICNSC_SKL.NICNSC_SA2AA AnimationMode = ONCE End TransitionState = TRANS_Firing TRANS_Stand Animation = NICNSC_SKL.NICNSC_AA2SA AnimationMode = ONCE End TransitionState = TRANS_StandDamaged TRANS_FiringDamaged Animation = NICNSC_SKL.NICNSC_ATCST AnimationMode = ONCE End TransitionState = TRANS_FiringDamaged TRANS_StandDamaged Animation = NICNSC_SKL.NICNSC_ATCED AnimationMode = ONCE End ; ------------- Damage Transitions -------------------- TransitionState = TRANS_StandDamaged TRANS_RunDamaged Animation = NICNSC_SKL.NICNSC_AA2AC AnimationMode = ONCE AnimationSpeedFactorRange = 2 2 End TransitionState = TRANS_RunDamaged TRANS_StandDamaged Animation = NICNSC_SKL.NICNSC_AA2AC AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2 2 Flags = START_FRAME_LAST End TransitionState = TRANS_Stand TRANS_StandDamaged Animation = NICNSC_SKL.NICNSC_AA2SA AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 4 5 Flags = START_FRAME_LAST End ; ------- Bayonet Animations ConditionState = PREATTACK_C Animation = NICNSC_SKL.NICNSC_ATB1 AnimationMode = ONCE TransitionKey = TRANS_Stab End AliasConditionState = PREATTACK_C MOVING AliasConditionState = PREATTACK_C FIRING_C AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_C ConditionState = FIRING_C Animation = NICNSC_SKL.NICNSC_ATB2 AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_Stab End AliasConditionState = BETWEEN_FIRING_SHOTS_C AliasConditionState = RELOADING_C ; ------- Parachuting Animations ConditionState = FREEFALL Animation = NICNSC_SKL.NICNSC_POP AnimationMode = MANUAL Flags = START_FRAME_FIRST TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = NICNSC_SKL.NICNSC_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = NICNSC_SKL.NICNSC_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = NICNSC_SKL.NICNSC_PTD AnimationMode = ONCE End ; ------- Movement Animations ConditionState = MOVING Animation = NICNSC_SKL.NICNSC_RNA 26 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING ConditionState = MOVING REALLYDAMAGED Animation = NICNSC_SKL.NICNSC_RNB 28 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_RunDamaged TransitionKey = None End AliasConditionState = MOVING ATTACKING REALLYDAMAGED ; ------- Bldg-capture ConditionState = UNPACKING Model = NICNSC_F_SKN Animation = NICNSC_F_SKL.NICNSC_F_FDP1 AnimationMode = ONCE End AliasConditionState = UNPACKING REALLYDAMAGED ConditionState = RAISING_FLAG Model = NICNSC_F_SKN Animation = NICNSC_F_SKL.NICNSC_F_FDP2 AnimationMode = ONCE TransitionKey = TRANS_Raising End AliasConditionState = RAISING_FLAG REALLYDAMAGED ConditionState = PACKING Model = NICNSC_F_SKN Animation = NICNSC_F_SKL.NICNSC_F_FDP1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST TransitionKey = TRANS_Packing End AliasConditionState = PACKING REALLYDAMAGED TransitionState = TRANS_Raising TRANS_Packing Model = NICNSC_F_SKN Animation = NICNSC_F_SKL.NICNSC_F_FDP2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ; ------- Dying Animations ConditionState = DYING Animation = NICNSC_SKL.NICNSC_DTA Animation = NICNSC_SKL.NICNSC_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = NICNSC_SKL.NICNSC_ATDE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = NICNSC_SKL.NICNSC_ATDE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = NICNSC_SKL.NICNSC_ATDE3 AnimationMode = ONCE TransitionKey = None End ; ------- Misc Animations ConditionState = SPECIAL_CHEERING Animation = NICNSC_SKL.NICNSC_CHA AnimationMode = LOOP End End ; ***DESIGN parameters *** DisplayName = OBJECT:MiniGunner Side = ChinaInfantryGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY Infa_MiniGunnerGun Weapon = SECONDARY Infa_MiniGunnerGunAir PreferredAgainst = SECONDARY AIRCRAFT End ArmorSet Conditions = None Armor = InfGen_HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = HazMatHumanArmor DamageFX = InfantryDamageFX End VisionRange = 100 ShroudClearingRange = 200 Prerequisites Object = Infa_ChinaBarracks End BuildCost = 350 BuildTime = 10.0 ;in seconds ExperienceValue = 5 5 10 20 ;Experience point value at each level ExperienceRequired = 0 20 40 80 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Infa_ChinaInfantryMiniGunnerCommandSet ; *** AUDIO Parameters *** VoiceSelect = RedMinigunnerVoiceSelect VoiceMove = RedGuardVoiceMove VoiceGuard = RedGuardVoiceMove VoiceAttack = RedMinigunnerVoiceAttack VoiceGroupSelect = BattleCrySound VoiceFear = RedGuardVoiceFear VoiceTaskComplete = RedGuardVoiceCaptureComplete UnitSpecificSounds VoiceMelee = RedGuardVoiceAttackBayonet VoiceGarrison = RedGuardVoiceGarrison VoiceCreate = RedMinigunnerVoiceCreate VoiceSubdue = RedGuardVoiceSubdue VoiceEnter = RedGuardVoiceMove VoiceEnterHostile = RedGuardVoiceMove VoiceGetHealed = RedGuardVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE PARACHUTABLE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = VeterancyGainCreate ModuleTag_03 StartingLevel = VETERAN End Behavior = VeterancyGainCreate ModuleTag_08 StartingLevel = ELITE ScienceRequired = Infa_SCIENCE_RedGuardTraining End Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_05 ; allows use of command button hunt script with this unit. End Locomotor = SET_NORMAL RedguardLocomotor Behavior = HordeUpdate ModuleTag_06 RubOffRadius = 100 ; if I am this close to a real hordesman, I will get to be an honorary hordesman UpdateRate = 1000 ; how often to recheck horde status (msec) Radius = 30 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) KindOf = INFANTRY ; what KindOf's must match to count towards horde-ness AlliesOnly = Yes ; do we only count allies towards horde status? ExactMatch = No ; do we only count units of our exact same type towards horde status? (overrides kindof) Count = 5 ; how many units must be within Radius to grant us horde-ness Action = HORDE ; when horde-ing, grant us the HORDE bonus End Behavior = PhysicsBehavior ModuleTag_07 Mass = 5.0 End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RedGuardDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RedGuardDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireChina OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_15 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SpecialAbility ModuleTag_16 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding UpdateModuleStartsAttack = Yes StartsPaused = Yes InitiateSound = RedGuardVoiceCapture End Behavior = SpecialAbilityUpdate ModuleTag_17 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding StartAbilityRange = 5.0 UnpackTime = 3000 ; (changing this will scale anim speed) PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) PackTime = 2000 ; (changing this will scale anim speed) DoCaptureFX = Yes AwardXPForTriggering = 4 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_18 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding TriggeredBy = Upgrade_InfantryCaptureBuilding End Geometry = CYLINDER GeometryMajorRadius = 7.0 GeometryMinorRadius = 7.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Infa_ChinaVehicleTroopCrawler ; *** ART Parameters *** SelectPortrait = SNAsltTroop_L ButtonImage = SNAsltTroop UpgradeCameo1 = Upgrade_ChinaSubliminalMessaging ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = NVTClrI ;note, the IRSonar particle system is added in StealthDetectorUpdate.cpp, not here End ConditionState = REALLYDAMAGED RUBBLE ; THIS IS VERY IMPORTANT... DO NOT REMOVE 'RUBBLE' ; @todo find out why a non-animating model like this has such trouble matching ; reallydamaged against moving against rubble, etc. Model = NVTClrI_D End TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray ; PowerslideSpray = RocketBuggyDirtPowerSlide doesn't powerslide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Wheel01 RightFrontTireBone = Wheel08 LeftRearTireBone = Wheel03 RightRearTireBone = Wheel05 MidLeftFrontTireBone = Wheel02 MidRightFrontTireBone = Wheel07 MidLeftRearTireBone = Wheel04 MidRightRearTireBone = Wheel06 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. End ; ***DESIGN parameters *** DisplayName = OBJECT:AssaultTroopTransport Side = ChinaInfantryGeneral EditorSorting = VEHICLE TransportSlotCount = 8 ;Just enough to fit into a Chinook. WeaponSet Conditions = None Weapon = PRIMARY NONE End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY Infa_ChinaVehicleTroopCrawlerDummyWeapon End ArmorSet Conditions = None Armor = AssaultCrawlerArmor DamageFX = TankDamageFX End BuildCost = 2400 BuildTime = 25.0 ;in seconds VisionRange = 175 ;Needs to see farther and match it's weapon range -- else troop crawlers will get slaughtered against tanks! ShroudClearingRange = 400 Prerequisites Object = Infa_ChinaWarFactory End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Infa_ChinaTroopCrawlerCommandSet ; *** AUDIO Parameters *** VoiceSelect = AssaultTroopCrawlerVoiceSelect VoiceMove = TroopCrawlerVoiceMove VoiceGuard = TroopCrawlerVoiceMove VoiceAttack = AssaultTroopCrawlerVoiceAttack SoundMoveStart = TroopCrawlerMoveStart SoundMoveStartDamaged = TroopCrawlerMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = AssaultTroopCrawlerVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = NoSound ;RocketBuggyLand TruckPowerslideSound = NoSound ;RocketBuggyPowerslide VoiceCrush = TroopCrawlerVoiceCrush VoiceUnload = TroopCrawlerVoiceUnload VoiceEnter = TroopCrawlerVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS TRANSPORT VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = StealthDetectorUpdate ModuleTag_03 DetectionRate = 900 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. PingSound = IRPing LoudPingSound = IRPingLoud IRParticleSysName = IRDetectSonar IRBrightParticleSysName = IRDetectSonarBright IRGridParticleSysName = IRDetectGrid IRBeaconParticleSysName = IRLenzflare IRParticleSysBone = IRFX End ;OBSOLETE ; Behavior = AIUpdateInterface ModuleTag_04 ; Turret ; ControlledWeaponSlots = PRIMARY ; End ; End ; Dude, quit changing this. He is NOT an AssaultTransport. The guys don't hop out and attack. He is a transport. ; Behavior = AssaultTransportAIUpdate ModuleTag_NewAI ; MembersGetHealedAtLifeRatio = 0.5 ; End Behavior = TransportAIUpdate ModuleTag_CorrectAI End Locomotor = SET_NORMAL TroopCrawlerLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 End Behavior = TransportContain ModuleTag_06 PassengersAllowedToFire = Yes Slots = 8 InitialPayload = Infa_ChinaInfantryMiniGunner 8 ScatterNearbyOnExit = Yes HealthRegen%PerSec = 10 DamagePercentToUnits = 50% ;10% AllowInsideKindOf = INFANTRY ExitDelay = 250 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting ArmedRidersUpgradeMyWeaponSet = Yes End Behavior = SlowDeathBehavior ModuleTag_07 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 1 FX = FINAL FX_SupplyTruckExplosionOneFinal OCL = FINAL OCL_FinalAssaultTroopCrawlerDebris End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition End Behavior = DestroyDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End ; A crushing defeat Behavior = FXListDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_12 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = PropagandaTowerBehavior ModuleTag_22 Radius = 100 DelayBetweenUpdates = 4000 ; in milliseconds HealPercentEachSecond = 2% ; get this % of max health every second PulseFX = FX_PropagandaTowerPropagandaPulse ;plays as often as DelayBetweenUpdates UpgradeRequired = Upgrade_ChinaSubliminalMessaging UpgradedHealPercentEachSecond = 4% ; get this % of max health every second UpgradedPulseFX = FX_PropagandaTowerSubliminalPulse ;plays as often as DelayBetweenUpdates End Geometry = BOX GeometryMajorRadius = 22.0 GeometryMinorRadius = 9.0 GeometryHeight = 13.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Infa_ChinaVehicleListeningOutpost ; *** ART Parameters *** SelectPortrait = NVLOutpost_L ButtonImage = NVLOutpost UpgradeCameo1 = Upgrade_ChinaSubliminalMessaging Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = IRFX ConditionState = NONE Model = NVLOUTPOST End ConditionState = REALLYDAMAGED Model = NVLOUTPOST_D End ConditionState = RUBBLE Model = NVLOUTPOST_D1 HideSubObject = TURRET01 ;Hide the dish, since an ocl makes an airborne one is slow death behavior End TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray LeftFrontTireBone = TIRE01 RightFrontTireBone = TIRE02 LeftRearTireBone = TIRE03 RightRearTireBone = TIRE04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. End Draw = W3DModelDraw ModuleTag_33 OkToChangeModelColor = Yes ConditionState = NONE Model = NVLOUTPOST_B Animation = NVLOUTPOST_B.NVLOUTPOST_B AnimationMode = LOOP TransitionKey = Trans_Deployed End ConditionState = REALLYDAMAGED Model = NVLOUTPOST_BD Animation = NVLOUTPOST_BD.NVLOUTPOST_BD AnimationMode = LOOP TransitionKey = Trans_Deployed_ReallyDamaged End ConditionState = MOVING Model = NVLOUTPOST_A Animation = NVLOUTPOST_A.NVLOUTPOST_A AnimationMode = LOOP TransitionKey = Trans_Moving End ConditionState = REALLYDAMAGED MOVING Model = NVLOUTPOST_AD Animation = NVLOUTPOST_AD.NVLOUTPOST_AD AnimationMode = LOOP TransitionKey = Trans_Moving_ReallyDamaged End ConditionState = RUBBLE Model = NONE End AliasConditionState = RUBBLE MOVING ;**** PACKING AND UNPACKING MODES *** TransitionState = Trans_Moving Trans_Deployed Model = NVLOUTPOST_C Animation = NVLOUTPOST_C.NVLOUTPOST_C AnimationMode = ONCE End TransitionState = Trans_Moving_ReallyDamaged Trans_Deployed_ReallyDamaged Model = NVLOUTPOST_CD Animation = NVLOUTPOST_CD.NVLOUTPOST_CD AnimationMode = ONCE End TransitionState = Trans_Deployed Trans_Moving Model = NVLOUTPOST_C Animation = NVLOUTPOST_C.NVLOUTPOST_C AnimationMode = ONCE_BACKWARDS End TransitionState = Trans_Deployed_ReallyDamaged Trans_Moving_ReallyDamaged Model = NVLOUTPOST_CD Animation = NVLOUTPOST_CD.NVLOUTPOST_CD AnimationMode = ONCE_BACKWARDS End End ; ***DESIGN parameters *** DisplayName = OBJECT:AssaultListeningOutpost Side = ChinaInfantryGeneral EditorSorting = VEHICLE TransportSlotCount = 8 ;This means, 'how many seats do I occupy in another transport.' WeaponSet Conditions = None Weapon = PRIMARY NONE End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY ListeningOutpostUpgradedDummyWeapon End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End BuildCost = 1000 BuildTime = 15.0 ;in seconds VisionRange = 250 ShroudClearingRange = 500 Prerequisites Object = Infa_ChinaWarFactory End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Infa_ChinaListeningOutpostCommandSet ; *** AUDIO Parameters *** VoiceSelect = ListeningOutpostVoiceSelect VoiceMove = ListeningOutpostVoiceMove VoiceGuard = ListeningOutpostVoiceMove VoiceAttack = ListeningOutpostVoiceAttack SoundMoveStart = RadarVanMoveStart SoundMoveStartDamaged = RadarVanMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = ListeningOutpostVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = NoSound ;RocketBuggyLand TruckPowerslideSound = NoSound ;RocketBuggyPowerslide VoiceCrush = NoSound VoiceUnload = NoSound ; nothing recorded VoiceEnter = ListeningOutpostVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS TRANSPORT VEHICLE SCORE REVEALS_ENEMY_PATHS CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 590 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = StealthDetectorUpdate ModuleTag_03 DetectionRate = 900 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 300 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. ; PingSound = IRPing ; LoudPingSound = IRPingLoud ; IRParticleSysName = IRDetectSonar ; IRBrightParticleSysName = IRDetectSonarBright IRGridParticleSysName = IRDetectGrid IRBeaconParticleSysName = IRLenzflare IRParticleSysBone = IRFX End Behavior = TransportAIUpdate ModuleTag_99 AutoAcquireEnemiesWhenIdle = No ; let the contained do it for themselves End Behavior = StealthUpdate ModuleTag_04 StealthDelay = 2000 ; msec StealthForbiddenConditions = MOVING RIDERS_ATTACKING FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Locomotor = SET_NORMAL ListeningOutpostLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 90.0 End Behavior = TransportContain ModuleTag_06 PassengersAllowedToFire = Yes Slots = 8 InitialPayload = Infa_ChinaInfantryTankHunter 3 ScatterNearbyOnExit = No HealthRegen%PerSec = 10 DamagePercentToUnits = 50% AllowInsideKindOf = INFANTRY ExitDelay = 250 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting ArmedRidersUpgradeMyWeaponSet = Yes End Behavior = SlowDeathBehavior ModuleTag_07 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 1789 FX = INITIAL FX_SupplyTruckExplosionOneFinal OCL = INITIAL OCL_InitialListeningOutpostDebris FX = FINAL FX_SupplyTruckExplosionOneFinal OCL = FINAL OCL_FinalListeningOutpostDebris End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition End Behavior = DestroyDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End ; A crushing defeat Behavior = FXListDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_12 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = PropagandaTowerBehavior ModuleTag_13 Radius = 75 DelayBetweenUpdates = 4000 ; in milliseconds HealPercentEachSecond = 1% ; get this % of max health every second PulseFX = FX_PropagandaTowerPropagandaPulse ;plays as often as DelayBetweenUpdates UpgradeRequired = Upgrade_ChinaSubliminalMessaging UpgradedHealPercentEachSecond = 2% ; get this % of max health every second UpgradedPulseFX = FX_PropagandaTowerSubliminalPulse ;plays as often as DelayBetweenUpdates End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 22.0 GeometryMinorRadius = 9.0 GeometryHeight = 13.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End Object Infa_ChinaVehicleHelix ; *** ART Parameters *** SelectPortrait = SNHelix_L ButtonImage = SNHelix UpgradeCameo1 = Upgrade_HelixNapalmBomb UpgradeCameo2 = Upgrade_ChinaBlackNapalm UpgradeCameo3 = Upgrade_Infa_ChinaHelixBattleBunker Draw = W3DOverlordAircraftDraw ModuleTag_01; Works with the dependencyModelDraw of the upgrade portable structures ParticlesAttachedToAnimatedBones = Yes DefaultConditionState Model = NVHELIX Animation = NVHELIX.NVHELIX AnimationMode = LOOP WeaponFireFXBone = PRIMARY Muzzle03 WeaponMuzzleFlash = PRIMARY TurretFX03 HideSubObject = BombWing End ConditionState = MOVING ParticleSysBone = SMOKE01 HelixExhaust ParticleSysBone = SMOKE02 HelixExhaust End ConditionState = REALLYDAMAGED Model = NVHELIX_d Animation = NVHELIX_d.NVHELIX_d AnimationMode = LOOP End ConditionState = REALLYDAMAGED MOVING Model = NVHELIX_d Animation = NVHELIX_d.NVHELIX_d AnimationMode = LOOP ParticleSysBone = SMOKE01 HelixExhaust ParticleSysBone = SMOKE02 HelixExhaust End ConditionState = RUBBLE Model = NVHELIX_d Animation = NVHELIX_d.NVHELIX_d AnimationMode = LOOP End ConditionState = RUBBLE MOVING Model = NVHELIX_d Animation = NVHELIX_d.NVHELIX_d AnimationMode = LOOP ParticleSysBone = SMOKE01 HelixExhaust ParticleSysBone = SMOKE02 HelixExhaust End ConditionState = RUBBLE SPECIAL_DAMAGED Model = NVHELIX_d End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Infa_Helix EditorSorting = VEHICLE Side = ChinaInfantryGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 200.0 ShroudClearingRange = 600 BuildCost = 1500 BuildTime = 20.0 ;in seconds Prerequisites Object = Infa_ChinaAirfield End ExperienceValue = 50 100 150 200 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes CommandSet = Infa_ChinaVehicleHelixCommandSet ArmorSet Conditions = None Armor = ChinookArmor DamageFX = None End WeaponSet Conditions = None ;---------------------------- Weapon = PRIMARY HelixMinigunWeapon PreferredAgainst = PRIMARY INFANTRY AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI ;---------------------------- End WeaponSet Conditions = PLAYER_UPGRADE ;---------------------------- Weapon = PRIMARY HelixMinigunWeapon PreferredAgainst = PRIMARY INFANTRY AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI ;---------------------------- End ; *** AUDIO Parameters *** VoiceSelect = HelixVoiceSelect VoiceMove = HelixVoiceMove VoiceAttack = HelixVoiceAttack SoundAmbient = HelixAmbientLoop SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds VoiceCreate = HelixVoiceCreate VoiceUnload = HelixVoiceUnload VoiceGarrison = HelixVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE HUGE_VEHICLE TRANSPORT AIRCRAFT SCORE PRODUCED_AT_HELIPAD CAN_ATTACK Body = ActiveBody ModuleTag_03 MaxHealth = 300.0 InitialHealth = 300.0 End Behavior = FXListDie ModuleTag_05 DeathFX = FX_HelicopterStartDeath End Behavior = TransitionDamageFX ModuleTag_06 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition End Behavior = ChinookAIUpdate ModuleTag_07 AutoAcquireEnemiesWhenIdle = Yes RotorWashParticleSystem = HelixRotorWashRing End Locomotor = SET_NORMAL HelixLocomotor Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor Behavior = PhysicsBehavior ModuleTag_09 Mass = 50.0 End Behavior = HelicopterSlowDeathBehavior ModuleTag_10 DestructionDelay = 99999999 ; the destruction delay SpiralOrbitTurnRate = 80.0 ; in degrees per second, bigger # = tighter spiral SpiralOrbitForwardSpeed = 110.0 ; bigger # = larger spiral SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster MaxBraking = 210 ; max braking we can use during death spiral (lower num = wilder spiral) SoundDeathLoop = HelixDamagedLoop MinSelfSpin = 40 ; in degrees per second MaxSelfSpin = 120 ; in degrees per second SelfSpinUpdateDelay = 300 ; in milliseconds SelfSpinUpdateAmount = 5 ; in degrees FallHowFast = 8.0% ; fraction of gravity, lower = take longer to fall MinBladeFlyOffDelay = 1000 ; in milliseconds MaxBladeFlyOffDelay = 1000 ; in milliseconds AttachParticle = SootySmokeTrail AttachParticleBone = Propeller02 BladeObjectName = HelixBlades BladeBoneName = Propeller01 FXBlade = FX_HelicopterBladeExplosion OCLBlade = OCL_HelicopterBladeExplosion FXHitGround = FX_HelicopterHitGround OCLHitGround = OCL_HelicopterHitGround FXFinalBlowUp = FX_HelixHelicopterBlowUpBig OCLFinalBlowUp = OCL_HelixBlades DelayFromGroundToFinalDeath = 30 FinalRubbleObject = HelixRubbleHull End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = ProductionUpdate ModuleTag_25 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End ;-------------------------- Behavior = ObjectCreationUpgrade ModuleTag_24 UpgradeObject = OCL_Infa_HelixBattleBunker TriggeredBy = Upgrade_Infa_ChinaHelixBattleBunker End Behavior = PassengersFireUpgrade ModuleTag_34 TriggeredBy = Upgrade_Infa_ChinaHelixBattleBunker End Behavior = HelixContain ModuleTag_29 Slots = 8 DamagePercentToUnits = 100% AllowInsideKindOf = INFANTRY ForbidInsideKindOf = AIRCRAFT ExitDelay = 100 NumberOfExitPaths = 1 PassengersAllowedToFire = No End ;-------------------------- Behavior = WeaponSetUpgrade ModuleTag_30 TriggeredBy = Upgrade_ChinaBlackNapalm End ;--------------------------- Behavior = SpecialAbility ModuleTag_32 SpecialPowerTemplate = SpecialAbilityHelixNapalmBomb UpdateModuleStartsAttack = Yes StartsPaused = Yes; so the UnpauseSpecialPowerUpgrade, below can turn it on InitiateSound = HelixVoiceAttack End Behavior = SpecialAbilityUpdate ModuleTag_33 SpecialPowerTemplate = SpecialAbilityHelixNapalmBomb StartAbilityRange = 3.0 PreparationTime = 0 SpecialObject = NapalmBomb MaxSpecialObjects = 1 SpecialObjectsPersistWhenOwnerDies = Yes SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. UniqueSpecialObjectTargets = No ;This would prevent multiple charges placed on the same object. UnpackTime = 500 ;slight delay to drop bomb FlipOwnerAfterUnpacking = No FleeRangeAfterCompletion = 0.0 ;DOes not run away after finishing ability UnpackSound = NoSound LoseStealthOnTrigger = No ApproachRequiresLOS = No ; we are a helicopter, we can see everything NeedToFaceTarget = No ; can drop the bomb at any angle to target PersistentPrepTime = 100 PersistenceRequiresRecharge = Yes End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_38 SpecialPowerTemplate = SpecialAbilityHelixNapalmBomb TriggeredBy = Upgrade_HelixNapalmBomb End Behavior = SubObjectsUpgrade ModuleTag_39 TriggeredBy = Upgrade_HelixNapalmBomb ShowSubObjects = BombWing End Behavior = CommandSetUpgrade ModuleTag_28 CommandSet = Infa_ChinaHelixBombCommandSet TriggeredBy = Upgrade_HelixNapalmBomb End Geometry = CYLINDER GeometryMajorRadius = 35.0 GeometryHeight = 30.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------ Object Infa_ChinaHelixBattleBunker ; *** ART Parameters *** SelectPortrait = SNBunker_L ButtonImage = SNBunker Draw = W3DDependencyModelDraw ModuleTag_01 OkToChangeModelColor = Yes AttachToBoneInContainer = CHASSISBONE ConditionState = NONE Model = NVHELIX_B End ConditionState = REALLYDAMAGED Model = NVHELIX_BD ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Flame01 SmolderingFire ParticleSysBone = Flame01 SmolderingFlameCore ParticleSysBone = Spark01 LiveWireSparks End ; night ConditionState = NIGHT Model = NVHELIX_B End ConditionState = NIGHT REALLYDAMAGED Model = NVHELIX_BD ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Flame01 SmolderingFire ParticleSysBone = Flame01 SmolderingFlameCore ParticleSysBone = Spark01 LiveWireSparks End End PlacementViewAngle = -45 ; ***DESIGN parameters *** Side = ChinaInfantryGeneral EditorSorting = SYSTEM TransportSlotCount = 1 ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module End VisionRange = 200 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop VoiceUnload = OverlordTankVoiceUnload End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = HelixContain ModuleTag_29 Slots = 8 DamagePercentToUnits = 100% AllowInsideKindOf = INFANTRY ForbidInsideKindOf = AIRCRAFT ExitDelay = 100 NumberOfExitPaths = 1 PassengersAllowedToFire = Yes End Behavior = DestroyDie ModuleTag_04 ;nothing End Geometry = BOX GeometryMajorRadius = 6.0 GeometryMinorRadius = 6.0 GeometryHeight = 10.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;-------------------------------- Object Lazr_AmericaJetSpectreGunship ; *** ART Parameters *** Draw = W3DOverlordAircraftDraw ModuleTag_01 ; Works with the dependencyModelDraw of the upgrade portable structures ;----NORMAL------------- DefaultConditionState Model = AVSGunship WeaponFireFXBone = PRIMARY MUZZLE WeaponFireFXBone = SECONDARY MUZZLE WeaponMuzzleFlash = PRIMARY MUZZLEFX WeaponMuzzleFlash = SECONDARY MUZZLEFX End ConditionState = DOOR_1_OPENING Model = AVSGunship Animation = AVSGunship.AVSGunship AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail End ConditionState = DOOR_1_CLOSING Model = AVSGunship Animation = AVSGunship.AVSGunship AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare End ;----DAMAGED------------- ConditionState = DOOR_1_OPENING DAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = DOOR_1_CLOSING DAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ;----REALLY DAMAGED------------- ConditionState = DOOR_1_OPENING REALLYDAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke02 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 SpectreSmokeLarge End ConditionState = DOOR_1_CLOSING REALLYDAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke02 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 SpectreSmokeLarge End ConditionState = RUBBLE Model = AVSGunship_D1 ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke01 SpectreSmokeLarge ParticleSysBone = Smoke03 SpectreSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke05 SpectreSmokeLarge End AliasConditionState = REALLYDAMAGED RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_OPENING OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:SpectreGunship EditorSorting = VEHICLE Side = AmericaLaserGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 300 Prerequisites Object = Lazr_AmericaAirfield End ArmorSet Conditions = None Armor = SpectreGunshipArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresSpectreGunshipArmor DamageFX = None End WeaponSet Conditions = None Weapon = PRIMARY SpectreHowitzerGun End ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = No ;Not Player built, so no veterancy.............................. ; *** AUDIO Parameters *** VoiceSelect = SpectreGunshipVoiceSelect VoiceAttack = SpectreGunshipVoiceAttack VoiceMove = SpectreGunshipVoiceMove SoundAmbient = SpectreGunshipAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds Afterburner = SpectreGunshipAfterburnerLoop HowitzerFire = SpectreHowitzerWeapon End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_ATTACK VEHICLE AIRCRAFT SCORE SELECTABLE EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 600.0 InitialHealth = 600.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = JetSlowDeathBehavior ModuleTag_04 DestructionDelay = 99999999 ; destruction will happen when we RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_SpectreGunshipExplosionLight OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_spectreDeathExplosion OCLSecondary = None FXHitGround = FX_spectreGunshipDeathExplosion OCLHitGround = OCL_A10DeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds ; FXFinalBlowUp = FX_spectreGunshipDeathExplosion OCLFinalBlowUp = OCL_SpectreDeathFinalBlowUp End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End ;SCRIPTED SUPPORT: These special power is triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = AIUpdateInterface ModuleTag_07 ForbidPlayerCommands = Yes ; this AIUpdate will only do command if from script or AI, not player End Locomotor = SET_PANIC SpectreGunshipTransitLocomotor Locomotor = SET_NORMAL SpectreGunshipOrbitLocomotor Behavior = SpecialAbility ModuleTag_32 SpecialPowerTemplate = SuperweaponSpectreGunship UpdateModuleStartsAttack = Yes End Behavior = SpectreGunshipUpdate ModuleTag_10 GattlingStrafeFXParticleSystem = SpectreGattlingArmsSmoke SpecialPowerTemplate = SuperweaponSpectreGunship HowitzerWeaponTemplate = SpectreHowitzerGun GattlingTemplateName = SpectreGunshipGattlingCannon RandomOffsetForHowitzer = 20 TargetingReticleRadius = 25 OrbitInsertionSlope = 0.7 ; steepness of orbit entry GunshipOrbitRadius = 250 HowitzerFiringRate = 300 ; how long between each attempted shot of howitzer HowitzerFollowLag = 400 ;600 ; how long after gattling acquires target can howitzer shoot same StrafingIncrement = 20 ; how far apart is each shot of the gattling as it strafes AttackAreaRadius = 200 OrbitTime = 15000 ;20000 ;32000 ; thirty-two seconds AttackAreaDecal Texture = SCCSpecTarg Style = SHADOW_ALPHA_DECAL OpacityMin = 25% OpacityMax = 50% OpacityThrobTime = 1500 Color = R:127 G:177 B:222 A:255 OnlyVisibleToOwningPlayer = Yes End TargetingReticleDecal Texture = SCCSpecRet Style = SHADOW_ALPHA_DECAL OpacityMin = 50% OpacityMax = 100% OpacityThrobTime = 300 Color = R:127 G:177 B:222 A:255 OnlyVisibleToOwningPlayer = Yes End End Behavior = HelixContain ModuleTag_09 Slots = 1 DamagePercentToUnits = 100% AllowInsideKindOf = PORTABLE_STRUCTURE PassengersAllowedToFire = Yes ShouldDrawPips = No End Behavior = FlammableUpdate ModuleTag_08 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_11 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_Client01 ;;;;;;;; End ; This allows the wingtip trails to stay stuck to the retractable wings Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 40.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;-------------------------------- ;------------------------------------------------------------------------------ Object Lazr_SpectreGunshipGattlingCannon ; *** ART Parameters *** Draw = W3DDependencyModelDraw ModuleTag_01 OkToChangeModelColor = Yes AttachToBoneInContainer = CHASIS DefaultConditionState Model = AVSGUNSHIP_GUN TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY Muzzle WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponMuzzleFlash = SECONDARY MuzzleFX End End ; ***DESIGN parameters *** Side = AmericaLaserGeneral EditorSorting = SYSTEM TransportSlotCount = 1 WeaponSet Conditions = None Weapon = PRIMARY SpectreGattlingGun End ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module End VisionRange = 200 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop VoiceRapidFire = NoSound End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY TurretTurnRate = 160 // turn rate, in degrees per sec TurretPitchRate = 160 AllowsPitch = Yes End AutoAcquireEnemiesWhenIdle = No End Behavior = DestroyDie ModuleTag_04 ;nothing End Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 3.0 GeometryHeight = 3.0 GeometryIsSmall = No Shadow = NONE End ;------------------------------------------------------------------------------ Object Lazr_SpectreGunshipHowitzer ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVSGUNSHIP_GHOW TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY Muzzle WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponMuzzleFlash = SECONDARY MuzzleFX End End ; ***DESIGN parameters *** Side = AmericaLaserGeneral EditorSorting = SYSTEM TransportSlotCount = 1 WeaponSet Conditions = None Weapon = PRIMARY SpectreHowitzerGun End ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module End VisionRange = 200 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop VoiceRapidFire = NoSound End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY SECONDARY TurretTurnRate = 60 // turn rate, in degrees per sec TurretPitchRate = 60 AllowsPitch = Yes End AutoAcquireEnemiesWhenIdle = No End Behavior = DestroyDie ModuleTag_04 ;nothing End Behavior = StealthDetectorUpdate ModuleTag_06 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ; Defaults to VisionRange CanDetectWhileContained = Yes End Geometry = BOX GeometryMajorRadius = 13.0 GeometryMinorRadius = 13.0 GeometryHeight = 8.0 GeometryIsSmall = No Shadow = NONE End ;------------------------------------------------------------------------------ Object Lazr_AmericaJetRaptor ; *** ART Parameters *** SelectPortrait = SACRaptor_L ButtonImage = SACRaptor UpgradeCameo1 = Upgrade_AmericaLaserMissiles UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_AmericaCountermeasures ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVRaptor HideSubObject = BurnerFX01 BurnerFX02 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburner ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = REALLYDAMAGED Model = AVRaptor_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke End ConditionState = REALLYDAMAGED JETEXHAUST Model = AVRaptor_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = AVRaptor_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; afterburner ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE Model = AVRaptor_D1B HideSubObject = None ShowSubObject = None End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = AVRaptor_D1B ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Raptor EditorSorting = VEHICLE Side = AmericaLaserGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 200.0 ShroudClearingRange = 400 Prerequisites Object = Lazr_AmericaAirfield End WeaponSet Conditions = None Weapon = PRIMARY RaptorJetMissileWeapon End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End BuildCost = 1400 BuildTime = 20 ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaJetRaptorCommandSet ; *** AUDIO Parameters *** VoiceSelect = RaptorVoiceSelect VoiceMove = RaptorVoiceMove VoiceAttack = RaptorVoiceAttack VoiceAttackAir = RaptorVoiceAttackAir VoiceGuard = RaptorVoiceAirPatrol SoundAmbient = RaptorAmbientLoop SoundAmbientRubble = NoSound ; SoundMoveLoop = RaptorAmbientLoop ; don't want sound while sitting at airfield ; SoundAmbient = NoSound UnitSpecificSounds VoiceCreate = RaptorVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceLowFuel = RaptorVoiceLowFuel VoiceGarrison = RaptorVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 160.0 InitialHealth = 160.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 3 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 1.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = ExperienceScalarUpgrade ModuleTag_04 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = JetSlowDeathBehavior ModuleTag_05 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_RaptorDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_RaptorDeathInitial OCLInitialDeath = OCL_RaptorDeathInitial DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary OCLSecondary = OCL_RaptorDeathSecondary FXHitGround = FX_JetDeathHitGround OCLHitGround = OCL_RaptorDeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_RaptorDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = EjectPilotDie ModuleTag_06 ExemptStatus = HIJACKED GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = PhysicsBehavior ModuleTag_07 Mass = 500.0 End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Behavior = JetAIUpdate ModuleTag_09 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 ParkingOffset = 3 ; scooch it a little forward so the tail doesn't hit the doors ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Locomotor = SET_NORMAL RaptorJetLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = Box GeometryIsSmall = Yes GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 5.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length. End ;------------------------------------------------------------------------------ Object Lazr_AmericaJetB52 ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVBomber ParticleSysBone = Engine00 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin End ConditionState = DAMAGED Model = AVBomber_D ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Engine00 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = REALLYDAMAGED Model = AVBomber_D ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Engine00 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = RUBBLE Model = AVBomber_D1 ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End OkToChangeModelColor = Yes End Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = AVBomber_A2U Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_OPENING Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_CLOSING Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED Model = AVBomber_A2DU Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_OPENING REALLYDAMAGED Model = AVBomber_A2DU Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_CLOSING REALLYDAMAGED Model = AVBomber_A2DU Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES End End ; ***DESIGN parameters *** DisplayName = OBJECT:B52 EditorSorting = VEHICLE Side = AmericaLaserGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 0.0 ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = TankDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End CommandSet = Command_ScriptedTransportDrops ; *** AUDIO Parameters *** SoundAmbient = B52AmbientLoop SoundAmbientRubble = NoSound ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 1000.0 InitialHealth = 1000.0 End ExperienceValue = 50 50 50 50 ; Experience point value at each level ;SCRIPTED SUPPORT: These special powers are triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_04 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ OCL = SUPERWEAPON_DaisyCutter CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_05 SpecialPowerTemplate = SuperweaponParadropAmerica UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 OCL = SUPERWEAPON_Paradrop1 CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = SuperweaponCarpetBomb OCL = SUPERWEAPON_CarpetBomb CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = PhysicsBehavior ModuleTag_07 Mass = 500.0 End Behavior = DeliverPayloadAIUpdate ModuleTag_08 DoorDelay = 500 MaxAttempts = 4 DropOffset = X:0 Y:0 Z:-10 DropDelay = 300 ; time in between each item dropped (if more than one) PutInContainer = AmericaParachute DeliveryDistance = 150 End Locomotor = SET_NORMAL B52Locomotor Behavior = TransportContain ModuleTag_09 Slots = 100 ; hey, it's a BIG transport ScatterNearbyOnExit = No OrientLikeContainerOnExit = Yes KeepContainerVelocityOnExit = Yes ExitPitchRate = 30 ExitBone = WeaponA01 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em NumberOfExitPaths = 0 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' End Behavior = JetSlowDeathBehavior ModuleTag_10 DestructionDelay = 2000 RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetBigDeathInitial OCLInitialDeath = OCL_AmericaJetCargoDeathStart DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time OCLSecondary = OCL_AmericaJetCargoHulkDeath FXSecondary = FX_BigPlaneDeath ; FXFinalBlowUp = FX_JetDeathFinalBlowUp ; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = TransitionDamageFX ModuleTag_11 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_12 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 60.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Lazr_AmericaJetAurora ; *** ART Parameters *** SelectPortrait = SAAurora_L ButtonImage = SAAurora UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaCountermeasures ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVAurora HideSubObject = BurnerFX03 BurnerFX04 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburner ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = REALLYDAMAGED Model = AVAurora_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke End ConditionState = REALLYDAMAGED JETEXHAUST Model = AVAurora_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = AVAurora_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; afterburner ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE Model = AVAurora_D1 HideSubObject = None ShowSubObject = None End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = AVAurora_D1 ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Aurora EditorSorting = VEHICLE Side = AmericaLaserGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 180.0 ShroudClearingRange = 600 Prerequisites Object = Lazr_AmericaAirfield Object = Lazr_AmericaStrategyCenter End BuildCost = 2500 BuildTime = 30.0 ;in seconds WeaponSet Conditions = None Weapon = PRIMARY AuroraBombWeapon End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End ExperienceValue = 200 200 400 400 ;Experience point value at each level ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaJetAuroraCommandSet ; *** AUDIO Parameters *** VoiceSelect = AuroraBomberVoiceSelect VoiceMove = AuroraBomberVoiceMove VoiceGuard = AuroraBomberVoiceMove VoiceAttack = AuroraBomberVoiceAttack SoundAmbient = AuroraBomberAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds VoiceCreate = AuroraBomberVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceLowFuel = AuroraBomberVoiceLowFuel VoiceGarrison = AuroraBomberVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 80.0 InitialHealth = 80.0 End Behavior = JetSlowDeathBehavior ModuleTag_03 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_AuroraDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_AuroraDeathInitial ;OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary ;OCLSecondary = None FXHitGround = FX_JetDeathHitGround ;OCLHitGround = None DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = EjectPilotDie ModuleTag_04 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End Behavior = ExperienceScalarUpgrade ModuleTag_06 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = JetAIUpdate ModuleTag_07 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 SneakyOffsetWhenAttacking = -20.0 ; this is how far behind us people aim when we are in attack mode AttackLocomotorType = SET_SUPERSONIC AttackLocomotorPersistTime = 100 ; we start slowing down almost immediately AttackersMissPersistTime = 2000 ; but remain untargetable fer a bit longer ReturnForAmmoLocomotorType = SET_SLUGGISH ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Locomotor = SET_NORMAL AuroraJetLocomotor Locomotor = SET_SUPERSONIC AuroraJetSupersonicLocomotor Locomotor = SET_SLUGGISH AuroraJetSluggishLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 2 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 60.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_22 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Geometry = Box GeometryIsSmall = Yes GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 5.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Lazr_AmericaJetStealthFighter ; *** ART Parameters *** SelectPortrait = SAStealth_L ButtonImage = SAStealth UpgradeCameo1 = Upgrade_AmericaLaserMissiles UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_AmericaCountermeasures UpgradeCameo4 = Upgrade_AmericaBunkerBusters ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVStealth HideSubObject = BurnerFX03 BurnerFX04 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburners ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = REALLYDAMAGED Model = AVStealth_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke End ConditionState = REALLYDAMAGED JETEXHAUST Model = AVStealth_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = AVStealth_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburners ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = RUBBLE Model = AVStealth_D1 HideSubObject = None ShowSubObject = None End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = AVStealth_D1 ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:StealthFighter EditorSorting = VEHICLE Side = AmericaLaserGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 180.0 ShroudClearingRange = 300.0 Prerequisites Object = Lazr_AmericaAirfield Science = SCIENCE_StealthFighter End WeaponSet Conditions = None Weapon = PRIMARY StealthJetMissileWeapon End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End BuildCost = 1600 BuildTime = 25.0 ;in seconds ExperienceValue = 100 100 200 300 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ; Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Lazr_AmericaJetStealthFighterCommandSet ; *** AUDIO Parameters *** VoiceSelect = StealthFighterVoiceSelect VoiceMove = StealthFighterVoiceMove VoiceAttack = StealthFighterVoiceAttack VoiceAttackAir = StealthFighterVoiceAttackAir VoiceGuard = StealthFighterVoiceAirPatrol SoundAmbient = StealthFighterAmbientLoop SoundAmbientRubble = NoSound SoundStealthOn = StealthOn SoundStealthOff = StealthOff UnitSpecificSounds VoiceCreate = StealthFighterVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceLowFuel = AuroraBomberVoiceLowFuel VoiceGarrison = StealthFighterVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = LOCAL_UNIT_ONLY KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = JetSlowDeathBehavior ModuleTag_03 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_StealthDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_StealthFighterDeathInitial ;OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary ;OCLSecondary = None FXHitGround = FX_JetDeathHitGround ;OCLHitGround = None DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_StealthDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = EjectPilotDie ModuleTag_04 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End Behavior = JetAIUpdate ModuleTag_06 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Behavior = ExperienceScalarUpgrade ModuleTag_08 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = StealthUpdate ModuleTag_09 StealthDelay = 1500 ; msec StealthForbiddenConditions = FIRING_PRIMARY ; not currently used... but maybe someday? (srj) ;RevealDistanceFromTarget = 0.0f FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 2 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 60.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Locomotor = SET_NORMAL StealthJetLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_22 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Geometry = Cylinder GeometryIsSmall = Yes GeometryMajorRadius = 7.0 GeometryMinorRadius = 7.0 GeometryHeight = 7.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Lazr_AmericaVehicleComanche ; *** ART Parameters *** SelectPortrait = SACCommanche_L ButtonImage = SACCommanche UpgradeCameo1 = Upgrade_ComancheRocketPods UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_AmericaCountermeasures ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVComanche HideSubObject = MissileUpgrade Animation = AVComanche.AVComanche AnimationMode = LOOP WeaponMuzzleFlash = PRIMARY TurretFX WeaponFireFXBone = PRIMARY Muzzle WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle End ConditionState = REALLYDAMAGED Model = AVComanche_d Animation = AVComanche_d.AVComanche_d AnimationMode = LOOP End ConditionState = WEAPONSET_PLAYER_UPGRADE ShowSubObject = MissileUpgrade Animation = AVComanche.AVComanche AnimationMode = LOOP WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = AVComanche_d ShowSubObject = MissileUpgrade Animation = AVComanche_d.AVComanche_d AnimationMode = LOOP WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End ConditionState = RUBBLE Model = AVComanche_d Animation = AVComanche_d.AVComanche_d AnimationMode = LOOP End ConditionState = RUBBLE SPECIAL_DAMAGED Model = AVComanche_d HideSubObject = AVComanche_Prop End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Comanche EditorSorting = VEHICLE Side = AmericaLaserGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 200.0 ShroudClearingRange = 600 Prerequisites Object = Lazr_AmericaAirfield End WeaponSet Conditions = None ; ----- Weapon = PRIMARY Comanche20mmCannonWeapon PreferredAgainst = PRIMARY INFANTRY AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = SECONDARY ComancheAntiTankMissileWeapon PreferredAgainst = SECONDARY VEHICLE STRUCTURE AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = TERTIARY NONE End WeaponSet Conditions = PLAYER_UPGRADE ; ----- Weapon = PRIMARY Comanche20mmCannonWeapon PreferredAgainst = PRIMARY INFANTRY AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = SECONDARY ComancheAntiTankMissileWeapon PreferredAgainst = SECONDARY VEHICLE STRUCTURE AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = TERTIARY ComancheRocketPodWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = ComancheArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresComancheArmor DamageFX = None End BuildCost = 1500 BuildTime = 20 ; in seconds ExperienceValue = 50 50 100 200 ; Experience point value at each level ExperienceRequired = 0 100 200 400 ; Experience points needed to gain each level IsTrainable = Yes ; Can gain experience CommandSet = Lazr_AmericaVehicleComancheCommandSet ; *** AUDIO Parameters *** VoiceSelect = ComancheVoiceSelect VoiceMove = ComancheVoiceMove VoiceGuard = ComancheVoiceMove VoiceAttack = ComancheVoiceAttack SoundAmbient = ComancheAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = ComancheVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceGarrison = ComancheVoiceMove TurretMoveStart = NoSound TurretMoveLoop = NoSound VoiceFireRocketPods = ComancheVoiceAttackRocket End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT PRODUCED_AT_HELIPAD Behavior = WeaponSetUpgrade ModuleTag_02 TriggeredBy = Upgrade_ComancheRocketPods End Behavior = ExperienceScalarUpgrade ModuleTag_03 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Body = ActiveBody ModuleTag_04 MaxHealth = 220.0 InitialHealth = 220.0 End Behavior = FXListDie ModuleTag_05 DeathFX = FX_ComancheStartDeath End Behavior = JetAIUpdate ModuleTag_06 MinHeight = 5 NeedsRunway = No KeepsParkingSpaceWhenAirborne = No AutoAcquireEnemiesWhenIdle = Yes ; note that comanches do not return to base when idle ; this is a bit of a trick... normally, units cannot move-and-fire at ; the same time. we need the comanche to be able to. so we give it ; a "turret" (invisible) and put the two main weapons on it, but with ; no turn rate. voila! Turret TurretTurnRate = 0 ; this "turret" does not turn TurretPitchRate = 0 ; nor does it pitch ControlledWeaponSlots = PRIMARY SECONDARY End End Locomotor = SET_NORMAL ComancheLocomotor Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor Behavior = PhysicsBehavior ModuleTag_07 Mass = 50.0 End Behavior = HelicopterSlowDeathBehavior ModuleTag_08 DestructionDelay = 99999999 ; the destruction delay SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) SoundDeathLoop = ComancheDamagedLoop MinSelfSpin = 100 ; in degrees per second MaxSelfSpin = 300 ; in degrees per second SelfSpinUpdateDelay = 100 ; in milliseconds SelfSpinUpdateAmount = 10 ; in degrees FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall MinBladeFlyOffDelay = 1500 ; in milliseconds MaxBladeFlyOffDelay = 1500 ; in milliseconds AttachParticle = SootySmokeTrail AttachParticleBone = Propeller02 BladeObjectName = ComancheBlades BladeBoneName = Propeller01 ; Most things that eject pilots do so immediately upon death, ; via use of EjectPilotDie, but Helicopters are a special case... ; they need to do so after their blades are ejected. OCLEjectPilot = OCL_EjectPilotViaParachute FXBlade = FX_HelicopterBladeExplosion OCLBlade = OCL_HelicopterBladeExplosion FXHitGround = FX_HelicopterHitGround OCLHitGround = OCL_HelicopterHitGround FXFinalBlowUp = FX_GroundedHelicopterBlowUp OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp DelayFromGroundToFinalDeath = 1500 FinalRubbleObject = ComancheRubbleHull End Behavior = TransitionDamageFX ModuleTag_09 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 2 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 60.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 4000 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 3.0 GeometryHeight = 25.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Lazr_AmericaJetA10Thunderbolt ; *** ART Parameters *** SelectPortrait = SAWarthog_L ButtonImage = SAWarthog Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = WeaponA01 ExtraPublicBone = WeaponA02 ExtraPublicBone = WeaponA03 ExtraPublicBone = WeaponA04 ExtraPublicBone = WeaponA05 ExtraPublicBone = WeaponA06 DefaultConditionState Model = AVWarthog WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 ParticleSysBone = Engine01 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Wingtip01 JetContrailThin ParticleSysBone = Wingtip02 JetContrailThin End ConditionState = REALLYDAMAGED Model = AVWarthog_D WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End AliasConditionState = RUBBLE ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:A10Thunderbolt EditorSorting = VEHICLE Side = AmericaLaserGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 300 Prerequisites Object = Lazr_AmericaAirfield End WeaponSet Conditions = None Weapon = PRIMARY A10ThunderboltVulcan End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience ; *** AUDIO Parameters *** SoundAmbient = A10ThunderboltAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject StartDive = A10ThunderboltDive End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE AIRCRAFT SCORE IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_02 MaxHealth = 600.0 InitialHealth = 600.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = JetSlowDeathBehavior ModuleTag_03 DestructionDelay = 99999999 ; destruction will happen when we RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetDeathInitial OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary OCLSecondary = None FXHitGround = FX_JetDeathHitGround OCLHitGround = OCL_A10DeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_A10DeathFinalBlowUp End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End ;SCRIPTED SUPPORT: These special power is triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = SuperweaponA10ThunderboltMissileStrike ;@@KRIS@@ UpgradeOCL = SCIENCE_A10ThunderboltMissileStrike3 SUPERWEAPON_A10ThunderboltMissileStrike3 UpgradeOCL = SCIENCE_A10ThunderboltMissileStrike2 SUPERWEAPON_A10ThunderboltMissileStrike2 OCL = SUPERWEAPON_A10ThunderboltMissileStrike1 CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = DeliverPayloadAIUpdate ModuleTag_07 End Locomotor = SET_NORMAL A10ThunderboltLocomotor Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 3 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_22 ;;;;;;;; End Geometry = Cylinder GeometryIsSmall = Yes GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Lazr_AmericaVehicleChinook ; *** ART Parameters *** SelectPortrait = SAChinook_L ButtonImage = SAChinook ;UpgradeCameo1 = Upgrade_AmericaCountermeasures ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 ; Helicopter ExtraPublicBone = RopeStart ExtraPublicBone = RopeEnd DefaultConditionState Model = AVChinook Animation = AVChinook.AVChinook AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = AVChinook_d Animation = AVChinook_d.AVChinook_d AnimationMode = LOOP End ConditionState = RUBBLE Model = AVChinook_d Animation = AVChinook_d.AVChinook_d AnimationMode = LOOP End ConditionState = RUBBLE SPECIAL_DAMAGED Model = AVChinook_d HideSubObject = Props01 HideSubObject = Props02 End OkToChangeModelColor = Yes End Draw = W3DModelDraw ModuleTag_02 ; Cargo net ConditionState = NONE Model = None ; Nothing here TransitionKey = TRANS_Empty WaitForStateToFinishIfPossible = TRANS_Unloading End ConditionState = DYING Model = None ; Nothing here End AliasConditionState = RUBBLE AliasConditionState = CARRYING RUBBLE AliasConditionState = DOCKING RUBBLE AliasConditionState = DOCKING CARRYING RUBBLE ConditionState = CARRYING Model = AVChinook_A ;Carrying a full wobbly net of stuff Animation = AVChinook_A.AVChinook_A AnimationMode = LOOP TransitionKey = TRANS_Full WaitForStateToFinishIfPossible = TRANS_PickingUp End ConditionState = DOCKING Model = AVChinook_A1MSH ;Lowering an empty net, pulling up with stuff Animation = AVChinook_A1SK.AVChinook_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST AnimationSpeedFactorRange = .75 .75 TransitionKey = TRANS_PickingUp WaitForStateToFinishIfPossible = TRANS_Unloading ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. End ConditionState = DOCKING CARRYING Model = AVChinook_A1MSH ; Lowering a full net, letting stuff fall out, and pulling up an empty net Animation = AVChinook_A1SK.AVChinook_A1 AnimationMode = ONCE AnimationSpeedFactorRange = 2.75 2.75 TransitionKey = TRANS_Unloading WaitForStateToFinishIfPossible = TRANS_PickingUp ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. End End ; ***DESIGN parameters *** DisplayName = OBJECT:Chinook EditorSorting = VEHICLE Side = AmericaLaserGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 600 BuildCost = 1200 BuildTime = 10.0 ;in seconds Prerequisites Object = Lazr_AmericaSupplyCenter End ExperienceValue = 50 50 50 50 ;Experience point value at each level IsTrainable = No CommandSet = Lazr_AmericaVehicleChinookCommandSet ArmorSet Conditions = None Armor = ChinookArmor DamageFX = None End ; *** AUDIO Parameters *** VoiceSelect = ChinookVoiceSelect VoiceMove = ChinookVoiceMove VoiceAttack = ChinookVoiceAttack SoundAmbient = ChinookAmbientLoop SoundAmbientRubble = NoSound SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds VoiceCreate = ChinookVoiceCreate VoiceSupply = ChinookVoiceSupply VoiceUnload = ChinookVoiceUnload VoiceCombatDrop = ChinookVoiceCombatDrop VoiceClearBuilding = RangerVoiceClearBuilding ;Special combat drop that clears buildings! VoiceGarrison = ChinookVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT ; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at ; (well, "near" actually) an Airfield to get healed... ; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there. KindOf = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT HARVESTER SCORE PRODUCED_AT_HELIPAD Body = ActiveBody ModuleTag_03 MaxHealth = 300.0 InitialHealth = 300.0 End Behavior = FXListDie ModuleTag_05 DeathFX = FX_HelicopterStartDeath End Behavior = TransitionDamageFX ModuleTag_06 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition End Behavior = ChinookAIUpdate ModuleTag_07 MaxBoxes = 8 SupplyCenterActionDelay = 3000 ; ms for whole thing (one transaction) SupplyWarehouseActionDelay = 1250 ; 875 ; ms per box (many small transactions) SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan) SuppliesDepletedVoice = ChinookVoiceSuppliesDepleted NumRopes = 4 ; these define how long we can wait, once a guy is on-rope, before throwing another ; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely ; and we'll wait for each guy to clear before spawning another. PerRopeDelayMin = 900 PerRopeDelayMax = 1500 RopeWidth = 0.5 RopeColor = R:0 G:0 B:0 RopeWobbleLen = 10 RopeWobbleAmplitude = 0.25 RopeWobbleRate = 180 RopeFinalHeight = 10 ; stop this far above ground RappelSpeed = 30 MinDropHeight = 40 ; if dropping into a tall bldg, go at least this far above it UpgradedSupplyBoost = 60 ; increase in value of the crates when supply lines has been upgraded End Locomotor = SET_NORMAL ChinookLocomotor Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor Behavior = TransportContain ModuleTag_08 Slots = 8 DamagePercentToUnits = 100% AllowInsideKindOf = INFANTRY VEHICLE ForbidInsideKindOf = AIRCRAFT HUGE_VEHICLE ExitDelay = 100 NumberOfExitPaths = 1 End Behavior = PhysicsBehavior ModuleTag_09 Mass = 50.0 End Behavior = HelicopterSlowDeathBehavior ModuleTag_10 DestructionDelay = 99999999 ; the destruction delay SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) SoundDeathLoop = ComancheDamagedLoop MinSelfSpin = 100 ; in degrees per second MaxSelfSpin = 300 ; in degrees per second SelfSpinUpdateDelay = 100 ; in milliseconds SelfSpinUpdateAmount = 10 ; in degrees FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall MinBladeFlyOffDelay = 1500 ; in milliseconds MaxBladeFlyOffDelay = 1500 ; in milliseconds AttachParticle = SootySmokeTrail AttachParticleBone = Propeller02 BladeObjectName = ComancheBlades BladeBoneName = Propeller01 FXBlade = FX_HelicopterBladeExplosion OCLBlade = OCL_HelicopterBladeExplosion FXHitGround = FX_HelicopterHitGround OCLHitGround = OCL_HelicopterHitGround FXFinalBlowUp = FX_GroundedHelicopterBlowUp OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp DelayFromGroundToFinalDeath = 30 FinalRubbleObject = ChinookRubbleHull End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 6.0 GeometryHeight = 12.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Lazr_AmericaJetCargoPlane ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVCargoPln Animation = AVCargoPln.AVCargoPln AnimationMode = LOOP ParticleSysBone = Propeller01 JetBlackTrailThin ParticleSysBone = Propeller02 JetBlackTrailThin ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin End ConditionState = DAMAGED Model = AVCargoPln_D Animation = AVCargoPln_D.AVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = REALLYDAMAGED Model = AVCargoPln_D Animation = AVCargoPln_D.AVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke03 JetFireLarge ParticleSysBone = Smoke05 JetFireLarge ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke05 JetSmokeLarge End ConditionState = RUBBLE Model = AVCargoPln_D1 Animation = AVCargoPln_D.AVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke06 JetFireLarge ParticleSysBone = Smoke03 JetFireLarge ParticleSysBone = Smoke05 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke06 JetSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke05 JetSmokeLarge End OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes End Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = AVCargoPln_A2 Animation = AVCargoPln_A2.AVCargoPln_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING Model = AVCargoPln_A2 Animation = AVCargoPln_A2.AVCargoPln_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_CLOSING Model = AVCargoPln_A2 Animation = AVCargoPln_A2.AVCargoPln_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:CargoPlane EditorSorting = VEHICLE Side = AmericaLaserGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 0.0 ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = TankDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End CommandSet = Command_ScriptedTransportDrops ; *** AUDIO Parameters *** SoundAmbient = C130AmbientLoop SoundAmbientRubble = NoSound ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT FORCEATTACKABLE IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 1000.0 InitialHealth = 1000.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = PhysicsBehavior ModuleTag_04 Mass = 500.0 End ;SCRIPTED SUPPORT: These special powers are triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_05 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ OCL = SUPERWEAPON_DaisyCutter CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = SuperweaponParadropAmerica UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 OCL = SUPERWEAPON_Paradrop1 CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_07 SpecialPowerTemplate = SuperweaponCarpetBomb OCL = SUPERWEAPON_CarpetBomb CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_08 SpecialPowerTemplate = SuperweaponCrateDrop OCL = SUPERWEAPON_CrateDrop CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = DeliverPayloadAIUpdate ModuleTag_09 DoorDelay = 500 MaxAttempts = 4 DropOffset = X:0 Y:0 Z:-10 DropDelay = 1000 ; time in between each item dropped (if more than one) PutInContainer = AmericaParachute DeliveryDistance = 150 End Locomotor = SET_NORMAL B52Locomotor Behavior = TransportContain ModuleTag_10 Slots = 100 ; hey, it's a BIG transport ScatterNearbyOnExit = No OrientLikeContainerOnExit = Yes KeepContainerVelocityOnExit = Yes ExitPitchRate = 30 ExitBone = WeaponA01 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE ;gs I added parachutable as a catch all to prevent making new kindofs (like CRATE) DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em NumberOfExitPaths = 0 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' End Behavior = JetSlowDeathBehavior ModuleTag_11 DestructionDelay = 2000 RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetBigDeathInitial OCLInitialDeath = OCL_AmericaJetCargoDeathStart DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time OCLSecondary = OCL_AmericaJetCargoHulkDeath FXSecondary = FX_BigPlaneDeath ; FXFinalBlowUp = FX_JetDeathFinalBlowUp ; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_12 ;;;;;;;; End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_13 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = TransitionDamageFX ModuleTag_17 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition End Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 40.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Lazr_AmericaInfantryColonelBurton ; *** ART Parameters *** SelectPortrait = SABurton_L ButtonImage = SABurton UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaChemicalSuits Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; idle DefaultConditionState Model = AIHERO_SKN IdleAnimation = AIHERO_SKL.AIHERO_STA 0 25 IdleAnimation = AIHERO_SKL.AIHERO_IDA IdleAnimation = AIHERO_SKL.AIHERO_IDB AnimationMode = ONCE TransitionKey = TRANS_Stand WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponMuzzleFlash = SECONDARY NONE HideSubObject = MUZZLEFX01 End ; injured idle ConditionState = REALLYDAMAGED IdleAnimation = AIHERO_SKL.AIHERO_ISTA 0 30 IdleAnimation = AIHERO_SKL.AIHERO_IIDA IdleAnimation = AIHERO_SKL.AIHERO_IIDB AnimationMode = ONCE TransitionKey = TRANS_StandInjured End TransitionState = TRANS_Stand TRANS_StandInjured Animation = AIHERO_SKL.AIHERO_ISTAHIT AnimationMode = ONCE End ; moving ConditionState = MOVING Animation = AIHERO_SKL.AIHERO_RNA 26 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Walking ParticleSysBone = None InfantryDustTrails HideSubObject = MUZZLEFX01 End AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING FIRING_B AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B AliasConditionState = MOVING RELOADING_B ; injured moving ConditionState = MOVING REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IRNA 26 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_WalkingInjured ParticleSysBone = None InfantryDustTrails HideSubObject = MUZZLEFX01 End AliasConditionState = MOVING FIRING_A REALLYDAMAGED AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED AliasConditionState = MOVING RELOADING_A REALLYDAMAGED AliasConditionState = MOVING FIRING_B REALLYDAMAGED AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B REALLYDAMAGED AliasConditionState = MOVING RELOADING_B REALLYDAMAGED ; Firing animation ConditionState = FIRING_A Animation = AIHERO_SKL.AIHERO_ATA AnimationMode = ONCE AnimationSpeedFactorRange = 1.5 1.5 TransitionKey = TRANS_FiringA End ConditionState = BETWEEN_FIRING_SHOTS_A Animation = AIHERO_SKL.AIHERO_ATA AnimationMode = MANUAL Flags = START_FRAME_LAST WaitForStateToFinishIfPossible = TRANS_FiringA End AliasConditionState = RELOADING_A ; Injured Firing animation ConditionState = FIRING_A REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATA AnimationMode = ONCE AnimationSpeedFactorRange = 1.5 1.5 TransitionKey = TRANS_FiringAInjured End ConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATA AnimationMode = MANUAL Flags = START_FRAME_LAST WaitForStateToFinishIfPossible = TRANS_FiringAInjured End AliasConditionState = RELOADING_A REALLYDAMAGED TransitionState = TRANS_FiringA TRANS_FiringAInjured Animation = AIHERO_SKL.AIHERO_IATAHIT AnimationMode = ONCE End ; Placing charge animation ConditionState = UNPACKING Animation = AIHERO_SKL.AIHERO_ATB1 AnimationMode = ONCE End AliasConditionState = MOVING UNPACKING ; Injured Placing charge animation ConditionState = UNPACKING REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATB1 AnimationMode = ONCE End AliasConditionState = MOVING UNPACKING REALLYDAMAGED ; Stab animations ConditionState = PREATTACK_B Animation = AIHERO_SKL.AIHERO_ATC AnimationMode = ONCE TransitionKey = TRANS_Stabbing HideSubObject = MUZZLEFX01 End AliasConditionState = PREATTACK_B MOVING AliasConditionState = PREATTACK_B FIRING_B AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B ConditionState = FIRING_B Animation = AIHERO_SKL.AIHERO_ATC AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_Stabbing HideSubObject = MUZZLEFX01 End AliasConditionState = BETWEEN_FIRING_SHOTS_B AliasConditionState = RELOADING_B TransitionState = TRANS_Stabbing TRANS_Stand Animation = AIHERO_SKL.AIHERO_ATC2 AnimationMode = ONCE End ; Injured Stab animations ConditionState = PREATTACK_B REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATC1 AnimationMode = ONCE TransitionKey = TRANS_StabbingInjured HideSubObject = MUZZLEFX01 End AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED ConditionState = FIRING_B REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATC2 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_StabbingInjured HideSubObject = MUZZLEFX01 End AliasConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED AliasConditionState = RELOADING_B REALLYDAMAGED TransitionState = TRANS_StabbingInjured TRANS_StandInjured Animation = AIHERO_SKL.AIHERO_IATC2 AnimationMode = ONCE End ; cheering ConditionState = SPECIAL_CHEERING Animation = AIHERO_SKL.AIHERO_CHA AnimationMode = ONCE End ; injured cheering ConditionState = SPECIAL_CHEERING REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_ICHA AnimationMode = ONCE End ; climbing ConditionState = CLIMBING Animation = AIHERO_SKL.AIHERO_CLMID AnimationMode = LOOP TransitionKey = TRANS_Climbing End AliasConditionState = RAPPELLING AliasConditionState = CLIMBING REALLYDAMAGED AliasConditionState = RAPPELLING REALLYDAMAGED ConditionState = CLIMBING MOVING Animation = AIHERO_SKL.AIHERO_CLMUP AnimationMode = LOOP TransitionKey = TRANS_Climbing End AliasConditionState = CLIMBING MOVING REALLYDAMAGED ConditionState = RAPPELLING MOVING Animation = AIHERO_SKL.AIHERO_CLMUP AnimationMode = LOOP_BACKWARDS TransitionKey = TRANS_Climbing End AliasConditionState = RAPPELLING MOVING REALLYDAMAGED ; these transitions don't really work well with our code. leave 'em out. ; TransitionState = TRANS_Climbing TRANS_Stand ; Animation = AIHERO_SKL.AIHERO_CLMST ; AnimationMode = ONCE ; End ; ; TransitionState = TRANS_Stand TRANS_Climbing ; Animation = AIHERO_SKL.AIHERO_CLMST ; AnimationMode = ONCE_BACKWARDS ; End ; dying anims ConditionState = DYING Animation = AIHERO_SKL.AIHERO_DTA Animation = AIHERO_SKL.AIHERO_DTB Animation = AIHero_SKL.AIHero_IDTA Animation = AIHero_SKL.AIHero_IDTB AnimationMode = ONCE TransitionKey = TRANS_Dying End AliasConditionState = RAPPELLING DYING AliasConditionState = CLIMBING DYING TransitionState = TRANS_Dying TRANS_Flailing Animation = AIHERO_SKL.AIHERO_ADTG21 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIHERO_SKL.AIHERO_ADTG22 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIHERO_SKL.AIHERO_ADTG23 AnimationMode = ONCE TransitionKey = None End ; misc anims ConditionState = FREEFALL Animation = AIHERO_SKL.AIHERO_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIHERO_SKL.AIHERO_PHG AnimationMode = LOOP TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = AIHERO_SKL.AIHERO_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = AIHERO_SKL.AIHERO_PTD AnimationMode = ONCE End TransitionState = TRANS_Chute TRANS_StandInjured Animation = AIHERO_SKL.AIHERO_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:ColonelBurton Side = AmericaLaserGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY ColonelBurtonSniperRifleWeapon Weapon = SECONDARY ColonelBurtonKnifeWeapon AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = SECONDARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 500 Prerequisites Object = Lazr_AmericaBarracks Object = Lazr_AmericaStrategyCenter End BuildCost = 1500 BuildTime = 20.0 ;in seconds ExperienceValue = 50 100 100 150 ; Experience point value at each level ExperienceRequired = 0 200 300 600 ; Experience points needed to gain each level IsTrainable = Yes ; Can gain experience CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Lazr_AmericaInfantryColonelBurtonCommandSet MaxSimultaneousOfType = 1 ; *** AUDIO Parameters *** VoiceSelect = ColonelBurtonVoiceSelect VoiceMove = ColonelBurtonVoiceMove VoiceAttack = ColonelBurtonVoiceAttack VoiceFear = ColonelBurtonVoiceFear VoiceGuard = ColonelBurtonVoiceMove SoundStealthOn = StealthOn SoundStealthOff = StealthOff UnitSpecificSounds VoiceMelee = ColonelBurtonVoiceAttackKnife VoiceCreate = ColonelBurtonVoiceCreate VoiceGarrison = ColonelBurtonVoiceGarrison VoiceEnter = ColonelBurtonVoiceMove VoiceEnterHostile = ColonelBurtonVoiceMove VoiceGetHealed = ColonelBurtonVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE HERO CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 200.0 InitialHealth = 200.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. End Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor ColonelBurtonCliffLocomotor Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = StealthUpdate ModuleTag_07 StealthDelay = 2000 ; msec StealthForbiddenConditions = FIRING_PRIMARY HintDetectableConditions = IS_FIRING_WEAPON FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes EnemyDetectionEvaEvent = EnemyColonelBurtonDetected OwnDetectionEvaEvent = OwnColonelBurtonDetected End Behavior = SpecialAbility ModuleTag_08 SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges UpdateModuleStartsAttack = Yes InitiateSound = ColonelBurtonVoicePlantRemoteCharge End Behavior = SpecialAbilityUpdate ModuleTag_09 SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges StartAbilityRange = 0.0 PreparationTime = 0 SpecialObject = RemoteC4Charge MaxSpecialObjects = 8 SpecialObjectsPersistWhenOwnerDies = No ;Charges are removed instantly when owner dies (nobody can detonate). AlwaysValidateSpecialObjects = Yes ;Coupled with the above setting, this one is necessary for code optimization. SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge PackTime = 0 SkipPackingWithNoTarget = Yes ;When yes, the packing/unpacking will be ignored when detonating charges. FlipOwnerAfterUnpacking = Yes FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability UnpackSound = ColonelBurtonPlantCharge LoseStealthOnTrigger = Yes PreTriggerUnstealthTime = 5000 ; in milliseconds End Behavior = SpecialAbility ModuleTag_10 SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges UpdateModuleStartsAttack = Yes InitiateSound = ColonelBurtonVoicePlantTimedCharge End Behavior = SpecialAbilityUpdate ModuleTag_11 SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges StartAbilityRange = 0.0 PreparationTime = 0 SpecialObject = TimedC4Charge MaxSpecialObjects = 10 SpecialObjectsPersistWhenOwnerDies = Yes SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge FlipOwnerAfterUnpacking = Yes FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability UnpackSound = ColonelBurtonPlantCharge LoseStealthOnTrigger = Yes PreTriggerUnstealthTime = 5000 ; in milliseconds End Behavior = ExperienceScalarUpgrade ModuleTag_12 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End ;Hero units can't be squished! ;Behavior = SquishCollide ModuleTag_13 ; ;nothing ;End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_ColonelBurtonDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_ColonelBurtonDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_18 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14 ShadowSizeY = 14 ShadowTexture = ShadowI BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Lazr_AmericaInfantryRanger ; *** ART Parameters *** SelectPortrait = SARanger_L ButtonImage = SARanger UpgradeCameo1 = Upgrade_AmericaRangerFlashBangGrenade UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_InfantryCaptureBuilding UpgradeCameo4 = Upgrade_AmericaChemicalSuits ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; this says "we don't use these condition states at all, so completely ; ignore them for purposes of matchmaking"... this is useful to help ; reduce the number of AliasConditionState clauses you must add in ; order to avoid ambiguity in some cases. IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A ; --- Idle DefaultConditionState Model = AIRngr_SKN IdleAnimation = AIRngr_SKL.AIRngr_STA 0 35 IdleAnimation = AIRngr_SKL.AIRngr_IDA IdleAnimation = AIRngr_SKL.AIRngr_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle TransitionKey = TRANS_Stand End ConditionState = REALLYDAMAGED IdleAnimation = AIRngr_SKL.AIRngr_STB 0 35 IdleAnimation = AIRngr_SKL.AIRngr_IDC IdleAnimation = AIRngr_SKL.AIRngr_IDD AnimationMode = ONCE TransitionKey = TRANS_StandInjured End TransitionState = TRANS_Stand TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_SA2SB AnimationMode = ONCE End ; --- attacking (Machine Gun) ConditionState = USING_WEAPON_A Animation = AIRngr_SKL.AIRngr_ATA AnimationMode = LOOP TransitionKey = TRANS_FiringA End ConditionState = USING_WEAPON_A REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATA2 AnimationMode = LOOP TransitionKey = TRANS_FiringAInjured End TransitionState = TRANS_FiringA TRANS_FiringAInjured Animation = AIRngr_SKL.AIRngr_A2WAA AnimationMode = ONCE End TransitionState = TRANS_Stand TRANS_FiringA Animation = AIRngr_SKL.AIRngr_ATAST AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_FiringA TRANS_Stand Animation = AIRngr_SKL.AIRngr_ATAED AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_StandInjured TRANS_FiringAInjured Animation = AIRngr_SKL.AIRngr_S2WAA AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_FiringAInjured TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_WAA2S AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_Stand TRANS_Move Animation = AIRngr_SKL.AIRngr_STA2RNA AnimationMode = ONCE End ; --- attacking (Grenade Launcher) ConditionState = PREATTACK_B Animation = AIRngr_SKL.AIRngr_ATBA AnimationMode = ONCE TransitionKey = TRANS_FiringB End AliasConditionState = PREATTACK_B MOVING AliasConditionState = PREATTACK_B FIRING_B AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B ConditionState = FIRING_B Animation = AIRngr_SKL.AIRngr_ATBB AnimationMode = ONCE TransitionKey = TRANS_FiringB End ConditionState = BETWEEN_FIRING_SHOTS_B Animation = AIRngr_SKL.AIRngr_ATBB AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_FiringB WaitForStateToFinishIfPossible = TRANS_FiringB End AliasConditionState = RELOADING_B TransitionState = TRANS_Stand TRANS_FiringB Animation = AIRngr_SKL.AIRngr_ATBST1 AnimationMode = ONCE End TransitionState = TRANS_FiringB TRANS_Stand Animation = AIRngr_SKL.AIRngr_ATBST2 AnimationMode = ONCE End ConditionState = PREATTACK_B REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATB2A AnimationMode = ONCE TransitionKey = TRANS_FiringBInjured End AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED ConditionState = FIRING_B REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATB2B AnimationMode = ONCE TransitionKey = TRANS_FiringBInjured End ConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATB2B AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_FiringBInjured WaitForStateToFinishIfPossible = TRANS_FiringBInjured End AliasConditionState = RELOADING_B REALLYDAMAGED TransitionState = TRANS_StandInjured TRANS_FiringBInjured Animation = AIRngr_SKL.AIRngr_ATB2ST1 AnimationMode = ONCE End TransitionState = TRANS_FiringBInjured TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_ATB2ST2 AnimationMode = ONCE End ; -- cross-attack transitions TransitionState = TRANS_FiringA TRANS_FiringB Animation = AIRngr_SKL.AIRngr_ATA2AB AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_FiringB TRANS_FiringA Animation = AIRngr_SKL.AIRngr_ATA2AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 4 4 End ; --- moving ConditionState = MOVING Animation = AIRngr_SKL.AIRngr_RNA 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Move ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING ConditionState = MOVING REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_RNB 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Move End AliasConditionState = MOVING REALLYDAMAGED ATTACKING ; --- dying anims ConditionState = DYING Animation = AIRngr_SKL.AIRngr_DTA Animation = AIRngr_SKL.AIRngr_DTB AnimationMode = ONCE TransitionKey = None End TransitionState = TRANS_Dying TRANS_Flailing Animation = AIRngr_SKL.AIRngr_ADTF1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIRngr_SKL.AIRngr_ADTF2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIRngr_SKL.AIRngr_ADTF3 AnimationMode = ONCE TransitionKey = None End AliasConditionState = DYING SPLATTED ; --- cheering ConditionState = SPECIAL_CHEERING Animation = AIRngr_SKL.AIRngr_CHA AnimationMode = LOOP End ConditionState = SPECIAL_CHEERING REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_CHB AnimationMode = LOOP End ; ----- PARACHUTING ANIMATIONS ConditionState = FREEFALL Animation = AIRngr_SKL.AIRngr_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIRngr_SKL.AIRngr_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = AIRngr_SKL.AIRngr_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = AIRngr_SKL.AIRngr_PTD AnimationMode = ONCE End TransitionState = TRANS_Chute TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_PTD AnimationMode = ONCE End ; ------- Bldg-capture ConditionState = UNPACKING Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP1 AnimationMode = ONCE End AliasConditionState = UNPACKING REALLYDAMAGED ConditionState = RAISING_FLAG Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP2 AnimationMode = ONCE TransitionKey = TRANS_Raising End AliasConditionState = RAISING_FLAG REALLYDAMAGED ConditionState = PACKING Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST TransitionKey = TRANS_Packing End AliasConditionState = PACKING REALLYDAMAGED TransitionState = TRANS_Raising TRANS_Packing Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ; --- RAPPELLING ANIMATIONS ConditionState = RAPPELLING Animation = AIRngr_SKL.AIRngr_RPL1 ;30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Rappelling End AliasConditionState = MOVING RAPPELLING TransitionState = TRANS_Rappelling TRANS_Stand Animation = AIRngr_SKL.AIRngr_RPL2 AnimationMode = ONCE End TransitionState = TRANS_Rappelling TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_RPL2 AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Ranger Side = AmericaLaserGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY RangerAdvancedCombatRifle End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY RangerAdvancedCombatRifle Weapon = SECONDARY RangerFlashBangGrenadeWeapon AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = None End VisionRange = 100 ShroudClearingRange = 400 Prerequisites Object = Lazr_AmericaBarracks End BuildCost = 225 BuildTime = 5.0 ;in seconds ExperienceValue = 20 20 40 60 ;Experience point value at each level ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Lazr_AmericaInfantryRangerCommandSet ; *** AUDIO Parameters *** VoiceSelect = RangerVoiceSelect VoiceMove = RangerVoiceMove VoiceGuard = RangerVoiceMove VoiceAttack = RangerVoiceAttack VoiceFear = RangerVoiceFear VoiceTaskComplete = RangerVoiceCaptureComplete UnitSpecificSounds VoiceEnter = RangerVoiceMove VoiceEnterHostile = RangerVoiceMove VoiceGarrison = RangerVoiceGarrison VoiceCreate = RangerVoiceCreate VoiceSubdue = RangerVoiceSubdue VoiceClearBuilding = RangerVoiceClearBuilding VoiceGetHealed = RangerVoiceMove VoicePrimaryWeaponMode = RangerVoiceModeGun VoiceSecondaryWeaponMode = RangerVoiceModeFlashBang End UnitSpecificFX ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs CombatDropKillFX = FX_RangerCombatDropKill End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY CAN_RAPPEL SCORE Behavior = CommandButtonHuntUpdate ModuleTag_02 End Body = ActiveBody ModuleTag_03 MaxHealth = 180.0 InitialHealth = 180.0 End Behavior = ExperienceScalarUpgrade ModuleTag_04 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Behavior = AIUpdateInterface ModuleTag_06 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL BasicHumanLocomotor Behavior = PhysicsBehavior ModuleTag_07 Mass = 5.0 End Behavior = ProductionUpdate ModuleTag_08 ; nothing End Behavior = CommandButtonHuntUpdate ModuleTag_09 ; allows use of command button hunt script with this unit. End Behavior = WeaponSetUpgrade ModuleTag_10 TriggeredBy = Upgrade_AmericaRangerFlashBangGrenade End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RangerDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RangerDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = SquishCollide ModuleTag_12 ;nothing End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End Behavior = PoisonedBehavior ModuleTag_17 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SpecialAbility ModuleTag_18 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding UpdateModuleStartsAttack = Yes StartsPaused = Yes ; Unpaused by upgrade module InitiateSound = RangerVoiceCapture End Behavior = SpecialAbilityUpdate ModuleTag_19 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding StartAbilityRange = 5.0 UnpackTime = 3000 ; (changing this will scale anim speed) PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) PackTime = 2000 ; (changing this will scale anim speed) DoCaptureFX = Yes AwardXPForTriggering = 15 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_20 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding TriggeredBy = Upgrade_InfantryCaptureBuilding End Behavior = LockWeaponCreate ModuleTag_21 SlotToLock = PRIMARY ; Prevents indeterminate state plus two unpickable weapons equaling no attack. End Geometry = CYLINDER GeometryMajorRadius = 7.0 GeometryMinorRadius = 7.0 GeometryHeight = 13.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Lazr_AmericaInfantryMissileDefender ; *** ART Parameters *** SelectPortrait = SAMissleDefender_L ButtonImage = SAMissleDefender UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaChemicalSuits ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;***NOTE*** ;A little history -- the MissileDefender now uses the assets of the TankHunter. ;The TH uses assets of the GLA tunnel defender, and the TD uses assets of the NEW ;MD. It was a design/art/code decision because the new missile defender animations ;don't suit that of a mobile/offensive unit with packing and unpacking. DefaultConditionState Model = NITHNT_SKN IdleAnimation = NITHNT_SKL.NITHNT_STA 0 30 IdleAnimation = NITHNT_SKL.NITHNT_IDA IdleAnimation = NITHNT_SKL.NITHNT_IDB AnimationMode = ONCE AnimationSpeedFactorRange = 0.8 1.2 TransitionKey = TRANS_Stand WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = PRIMARY Muzzle WeaponLaunchBone = PRIMARY Muzzle WeaponLaunchBone = SECONDARY Muzzle End AliasConditionState = REALLYDAMAGED ConditionState = FIRING_A Animation = NITHNT_SKL.NITHNT_ATA AnimationMode = ONCE TransitionKey = TRANS_START_FIRING End AliasConditionState = FIRING_A REALLYDAMAGED ConditionState = BETWEEN_FIRING_SHOTS_A Animation = NITHNT_SKL.NITHNT_STA AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_START_FIRING End AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED ConditionState = MOVING Animation = NITHNT_SKL.NITHNT_RNA 20 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING REALLYDAMAGED ConditionState = RELOADING_A Animation = NITHNT_SKL.NITHNT_ATA 10 AnimationMode = ONCE ;WeaponLaunchBone = PRIMARY WeaponA End AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING RELOADING_A REALLYDAMAGED ConditionState = DYING Animation = NITHNT_SKL.NITHNT_DTA Animation = NITHNT_SKL.NITHNT_DTB AnimationSpeedFactorRange = 0.9 1.25 AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = NITHNT_SKL.NITHNT_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = NITHNT_SKL.NITHNT_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = NITHNT_SKL.NITHNT_ADTA3 AnimationMode = ONCE TransitionKey = None End ;PARACHUTING ANIMATIONS ConditionState = FREEFALL Animation = NITHNT_SKL.NITHNT_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = NITHNT_SKL.NITHNT_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = NITHNT_SKL.NITHNT_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = NITHNT_SKL.NITHNT_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:MissileTeam Side = AmericaLaserGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY MissileDefenderMissileWeapon Weapon = SECONDARY MissileDefenderLaserGuidedMissileWeapon ;Controlled by special ability AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = SECONDARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 400 Prerequisites Object = Lazr_AmericaBarracks End BuildCost = 300 BuildTime = 5.0 ;in seconds ExperienceValue = 20 20 40 60 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaInfantryMissileDefenderCommandSet ; *** AUDIO Parameters *** VoiceSelect = MissileDefenderVoiceSelect VoiceMove = MissileDefenderVoiceMove VoiceGuard = MissileDefenderVoiceMove VoiceAttack = MissileDefenderVoiceAttack VoiceAttackAir = MissileDefenderVoiceAttack VoiceFear = MissileDefenderVoiceFear UnitSpecificSounds VoiceGarrison = MissileDefenderVoiceGarrison VoiceCreate = MissileDefenderVoiceCreate VoiceEnter = MissileDefenderVoiceMove VoiceGetHealed = MissileDefenderVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End Behavior = ExperienceScalarUpgrade ModuleTag_03 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = Yes End Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Locomotor = SET_NORMAL MissileDefenderLocomotor Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = SpecialAbility ModuleTag_08 SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles UpdateModuleStartsAttack = Yes InitiateSound = MissileDefenderVoiceAttackLaser End Behavior = SpecialAbilityUpdate ModuleTag_09 SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles StartAbilityRange = 200.0 AbilityAbortRange = 250.0 ;If the target moves outside this range, abort. PreparationTime = 1000 PersistentPrepTime = 500 SpecialObject = LaserBeam SpecialObjectAttachToBone = Muzzle01 End Behavior = SquishCollide ModuleTag_10 ;nothing End ;Added by JMC on 7/12/03 so that the skirmish AI can tell the missile defenders to hunt using ;the laser guided missiles. Behavior = CommandButtonHuntUpdate ModuleTag_CBHunt ; allows use of command button hunt script with this unit. End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_MissileDefenderDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_MissileDefenderDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 7.0 GeometryMinorRadius = 7.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ; @todo -- this entire unit is "first pass only" and needs lots of specialization Object Lazr_AmericaInfantryPilot ; *** ART Parameters *** SelectPortrait = SAPilot_L ButtonImage = SAPilot UpgradeCameo1 = Upgrade_AmericaChemicalSuits UpgradeCameo2 = Upgrade_AmericaAdvancedTraining ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AIRPlt_SKN IdleAnimation = AIRPlt_SKL.AIRPlt_STA 0 20 IdleAnimation = AIRPlt_SKL.AIRPlt_IDA IdleAnimation = AIRPlt_SKL.AIRPlt_IDB AnimationMode = ONCE TransitionKey = TRANS_Stand End ConditionState = FREEFALL Animation = AIRPlt_SKL.AIRPLT_PFL AnimationMode = ONCE TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIRPlt_SKL.AIRPlt_PHG AnimationMode = LOOP TransitionKey = TRANS_Chute WaitForStateToFinishIfPossible = TRANS_Falling End AliasConditionState = PARACHUTING DYING ConditionState = MOVING Animation = AIRPlt_SKL.AIRPlt_RNA AnimationMode = LOOP TransitionKey = TRANS_Stand ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = AIRPlt_SKL.AIRPlt_DTA Animation = AIRPlt_SKL.AIRPlt_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = AIRPlt_SKL.AIRPlt_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIRPlt_SKL.AIRPlt_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIRPlt_SKL.AIRPlt_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = AIRPLT_SKL.AIRPLT_CHA AnimationMode = LOOP End ;@TODO -- MISSING ANIMATION FILE ;TransitionState = TRANS_Falling TRANS_Chute ; Animation = AIRPLT_SKL.AIRPLT_POP ; AnimationMode = ONCE ; Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first ;End TransitionState = TRANS_Chute TRANS_Stand Animation = AIRPlt_SKL.AIRPlt_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Pilot Side = AmericaLaserGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) ExperienceValue = 10 10 10 10 ;Experience point value at each level ExperienceRequired = 0 1 2 3 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CommandSet = AmericaInfantryPilotCommandSet ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 300 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = PilotVoiceSelect VoiceMove = PilotVoiceMove VoiceAttack = PilotVoiceMove VoiceGarrison = NoSound VoiceFear = PilotVoiceFear UnitSpecificSounds VoiceEnter = PilotVoiceEnter VoiceEnterHostile = PilotVoiceEnter VoiceGetHealed = PilotVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY NO_GARRISON SCORE IGNORES_SELECT_ALL Behavior = VeterancyGainCreate ModuleTag_02 ; omit the "ScienceRequired" so that this upgrade always occurs. ; Pilots should never (repeat, never) be less than VETERAN status. StartingLevel = VETERAN End Behavior = VeterancyCrateCollide ModuleTag_03 RequiredKindOf = VEHICLE ; we only give our bonus to VEHICLEs we collide with ForbiddenKindOf = DOZER ; but not to TRANSPORTs or DOZERs! EffectRange = 0 ; 0=="affect only the thing you collide with" AddsOwnerVeterancy = Yes ; we add our own veterancy to the target (rather than just +1 level) IsPilot = Yes ; set the pilot flag because it's different than the veterancy crate and has extra checking End Body = ActiveBody ModuleTag_04 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_05 AutoAcquireEnemiesWhenIdle = Yes End Behavior = AutoFindHealingUpdate ModuleTag_06 ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Behavior = PilotFindVehicleUpdate ModuleTag_07 ; This update will have the unit go to a vehicle. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; MinHealth = 0.5 ; don't enter a vehicle less than 50% healthy. End Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor Locomotor = SET_NORMAL_UPGRADED BasicHumanLocomotorPlus25 Behavior = PhysicsBehavior ModuleTag_08 Mass = 5.0 End Behavior = LocomotorSetUpgrade ModuleTag_10 TriggeredBy = Upgrade_Veterancy_HEROIC End Behavior = SquishCollide ModuleTag_11 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PilotDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PilotDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_14 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Lazr_AmericaInfantryPathfinder ; *** ART Parameters *** SelectPortrait = SAPathfinder1_L ButtonImage = SAPathfinder1 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaChemicalSuits ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AIPFDR_SKN IdleAnimation = AIPFDR_SKL.AIPFDR_STA IdleAnimation = AIPFDR_SKL.AIPFDR_IDA AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX TransitionKey = TRANS_Standing End AliasConditionState = REALLYDAMAGED ConditionState = MOVING Animation = AIPFDR_SKL.AIPFDR_RNA 25 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Standing ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING REALLYDAMAGED ConditionState = FIRING_A Animation = AIPFDR_SKL.AIPFDR_ATB ; recoil in standing position AnimationMode = ONCE TransitionKey = TRANS_FiringA End AliasConditionState = FIRING_A MOVING AliasConditionState = FIRING_A MOVING REALLYDAMAGED AliasConditionState = FIRING_A REALLYDAMAGED ConditionState = BETWEEN_FIRING_SHOTS_A Animation = AIPFDR_SKL.AIPFDR_ATBST ; motionless in standing position AnimationMode = ONCE WaitForStateToFinishIfPossible = TRANS_FiringA End AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED AliasConditionState = RELOADING_A AliasConditionState = RELOADING_A REALLYDAMAGED ConditionState = DYING Animation = AIPFDR_SKL.AIPFDR_DTA AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = AIPFDR_SKL.AIPFDR_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIPFDR_SKL.AIPFDR_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIPFDR_SKL.AIPFDR_ADTA3 AnimationMode = ONCE TransitionKey = None End ConditionState = FREEFALL Animation = AIPFDR_SKL.AIPFDR_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIPFDR_SKL.AIPFDR_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ;our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = AIPFDR_SKL.AIPFDR_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ;our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Standing Animation = AIPFDR_SKL.AIPFDR_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Pathfinder Side = AmericaLaserGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY USAPathfinderSniperRifle End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = InfantryDamageFX End VisionRange = 200 ShroudClearingRange = 400 Prerequisites Object = Lazr_AmericaBarracks Science = SCIENCE_Pathfinder End BuildCost = 600 BuildTime = 10.0 ;in seconds ExperienceValue = 40 40 60 80 ;Experience point value at each level ExperienceRequired = 0 50 100 200 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaInfantryPathfinderCommandSet ; *** AUDIO Parameters *** VoiceSelect = PathfinderVoiceSelect VoiceMove = PathfinderVoiceMove VoiceGuard = PathfinderVoiceMove VoiceAttack = PathfinderVoiceAttack VoiceFear = PathfinderVoiceFear SoundStealthOn = StealthOn SoundStealthOff = StealthOff VoiceFear = PathfinderVoiceFear UnitSpecificSounds VoiceCreate = PathfinderVoiceCreate VoiceGarrison = PathfinderVoiceGarrison VoiceEnter = PathfinderVoiceMove VoiceEnterHostile = PathfinderVoiceMove VoiceGetHealed = PathfinderVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY STEALTH_GARRISON SCORE CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes Stealthed MoodAttackCheckRate = 250 End Behavior = AutoFindHealingUpdate ModuleTag_04 ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor Behavior = ExperienceScalarUpgrade ModuleTag_05 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = StealthDetectorUpdate ModuleTag_08 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = StealthUpdate ModuleTag_09 StealthDelay = 0 ; msec StealthForbiddenConditions = MOVING ; stays stealthy while attacking FriendlyOpacityMin = 30.0% FriendlyOpacityMax = 80.0% PulseFrequency = 500 ; msec MoveThresholdSpeed = 3 InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = SquishCollide ModuleTag_10 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PathfinderDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PathfinderDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Lazr_AmericaVehicleHumvee ; *** ART Parameters *** SelectPortrait = SAHummer_L ButtonImage = SAHummer UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining UpgradeCameo5 = Upgrade_AmericaTOWMissile Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = AVHUMMER Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01 WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX End ConditionState = REALLYDAMAGED Model = AVHUMMER_d Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01 WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX End ConditionState = WEAPONSET_PLAYER_UPGRADE Model = AVHUMMER Turret = TurretUp01 HideSubObject = Turret MuzzleFX01 ShowSubObject = TurretUp01 Housecolor03 WeaponFireFXBone = PRIMARY MuzzleUp WeaponMuzzleFlash = PRIMARY MuzzleFXUp WeaponFireFXBone = SECONDARY WeaponB WeaponLaunchBone = SECONDARY WeaponB WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End ConditionState = REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE Model = AVHUMMER_d Turret = TurretUp01 HideSubObject = Turret MuzzleFX01 ShowSubObject = TurretUp01 Housecolor03 WeaponFireFXBone = PRIMARY MuzzleUp WeaponMuzzleFlash = PRIMARY MuzzleFXUp WeaponFireFXBone = SECONDARY WeaponB WeaponLaunchBone = SECONDARY WeaponB WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 1.25 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:Humvee Side = AmericaLaserGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY HumveeGun Weapon = SECONDARY HumveeMissileWeaponAirDummy End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY HumveeGun Weapon = SECONDARY HumveeMissileWeapon Weapon = TERTIARY HumveeMissileWeaponAir PreferredAgainst = TERTIARY AIRCRAFT End ArmorSet Conditions = None Armor = HumveeArmor DamageFX = TruckDamageFX End BuildCost = 700 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 320 Prerequisites Object = Lazr_AmericaWarFactory End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Lazr_AmericaVehicleHumveeCommandSet ; *** AUDIO Parameters *** VoiceSelect = HumveeVoiceSelect VoiceMove = HumveeVoiceMove VoiceGuard = HumveeVoiceMove VoiceAttack = HumveeVoiceAttack VoiceAttackAir = HumveeVoiceAttackTOW SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs ;TurretMoveStart = NoSound VoiceCreate = HumveeVoiceCreate TurretMoveLoop = TurretMoveLoop SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = HumveeVoiceCrush ; Required for the W3DTruckDraw module TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceUnload = HumveeVoiceUnload VoiceEnter = HumveeVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = TransportAIUpdate ModuleTag_03 Turret TurretTurnRate = 180 RecenterTime = 5000 ; how long to wait during idle before recentering ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY End AutoAcquireEnemiesWhenIdle = Yes MoodAttackCheckRate = 250 End Locomotor = SET_NORMAL HumveeLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = TransportContain ModuleTag_05 PassengersAllowedToFire = Yes Slots = 5 EnterSound = GarrisonEnter ExitSound = GarrisonExit DamagePercentToUnits = 100% ;10% AllowInsideKindOf = INFANTRY ExitDelay = 250 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting End Behavior = ObjectCreationUpgrade ModuleTag_06 UpgradeObject = Lazr_OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_07 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_14 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_08 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = WeaponSetUpgrade ModuleTag_09 TriggeredBy = Upgrade_AmericaTOWMissile End Behavior = ExperienceScalarUpgrade ModuleTag_10 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = SlowDeathBehavior ModuleTag_11 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 25 DestructionDelay = 1 OCL = INITIAL OCL_InitialHumveeDebris FX = FINAL FX_BattleMasterExplosionOneFinal OCL = FINAL OCL_FinalHumveeDebris End Behavior = DestroyDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End ; This is commented out per hotlist request 10/9 ML ; Behavior = CreateObjectDie ModuleTag_15 ; DeathTypes = ALL -CRUSHED -SPLATTED ; CreationList = Lazr_OCL_AmericanRangerDebris01 ; ExemptStatus = HIJACKED ; End Behavior = EjectPilotDie ModuleTag_16 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED ; The following added out per hotlist request 10/9 as above ML VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute End Behavior = TransitionDamageFX ModuleTag_17 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 11.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;---------------------------------------------------------- Object Lazr_AmericaVehicleTomahawk ; *** ART Parameters *** SelectPortrait = SACTomahawk_L ButtonImage = SACTomahawk UpgradeCameo1 = Upgrade_AmericaScoutDrone UpgradeCameo2 = Upgrade_AmericaBattleDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining ;UpgradeCameo5 = XXX Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes ProjectileBoneFeedbackEnabledSlots = PRIMARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset DefaultConditionState Model = AVTomahawk Turret = TURRET TurretPitch = TURRETEL WeaponLaunchBone = PRIMARY WeaponA WeaponHideShowBone = PRIMARY MISSILE End ConditionState = REALLYDAMAGED Model = AVTomahawk_D End AliasConditionState = RUBBLE TrackMarks = EXTnkTrack.tga End ; ***DESIGN parameters *** DisplayName = OBJECT:Tomahawk Side = AmericaLaserGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) BuildCost = 1200 BuildTime = 20.0 ;in seconds VisionRange = 180 ShroudClearingRange = 200 Prerequisites Object = Lazr_AmericaWarFactory Object = Lazr_AmericaStrategyCenter End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience WeaponSet Conditions = None Weapon = PRIMARY TomahawkMissileWeapon End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaVehicleTomahawkCommandSet ; *** AUDIO Parameters *** VoiceSelect = TomahawkVoiceSelect VoiceMove = TomahawkVoiceMove VoiceGuard = TomahawkVoiceMove VoiceAttack = TomahawkVoiceAttack SoundMoveStart = TomahawkMoveStart SoundMoveStartDamaged = TomahawkMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = TomahawkVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoopLoud SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = TomahawkVoiceCrush VoiceEnter = TomahawkVoiceMove VoiceBombard = TomahawkVoiceAttack End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE DONT_AUTO_CRUSH_INFANTRY CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 180.0 InitialHealth = 180.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 360 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 60 ; turn rate, in degrees per sec TurretPitchRate = 60 FirePitch = 70 ; Instead of aiming pitchwise at the target, it will aim here AllowsPitch = Yes ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = No NotWhileAttacking End Locomotor = SET_NORMAL TomahawkLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_AmericaVehicleTomahawkDie FX = FINAL FX_AmericaVehicleTomahawkDeathExplosion End Behavior = ObjectCreationUpgrade ModuleTag_06 UpgradeObject = Lazr_OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_07 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_15 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_08 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = ExperienceScalarUpgrade ModuleTag_09 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = DestroyDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag SalvageData CrateData = SalvageCrateData End ; Behavior = FXListDie ; DeathTypes = ALL -CRUSHED -SPLATTED ; DeathFX = FX_GenericTankDeathEffect ; End ; Behavior = CreateObjectDie ; DeathTypes = ALL -CRUSHED -SPLATTED ; CreationList = OCL_GenericTankDeathEffect ; End Behavior = EjectPilotDie ModuleTag_13 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute End Behavior = TransitionDamageFX ModuleTag_14 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ; Also known as the Ambulance Object Lazr_AmericaVehicleMedic ; *** ART Parameters *** SelectPortrait = SAAmbulance_L ButtonImage = SAAmbulance UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 ConditionState = NONE Model = AVAmbulance Turret = Turret TurretPitch = TurretEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = REALLYDAMAGED Model = AVAmbulance_D Turret = Turret TurretPitch = TurretEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = RUBBLE Model = AVAmbulance_D End TrackMarks = EXTireTrack.tga OkToChangeModelColor = Yes Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:Medic Side = AmericaLaserGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet ;*** Fully automated and driven by the CleanupHazardUpdate *** Conditions = None Weapon = PRIMARY AmbulanceCleanHazardWeapon AutoChooseSources = PRIMARY NONE End ArmorSet Conditions = None Armor = ToxinTruckArmor DamageFX = TruckDamageFX End BuildCost = 600 BuildTime = 10.0 ;in seconds VisionRange = 100 ShroudClearingRange = 400 Prerequisites Object = Lazr_AmericaWarFactory End ExperienceValue = 50 50 50 50 ;Experience point value at each level IsTrainable = No CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Lazr_AmericaVehicleAmbulanceCommandSet ; *** AUDIO Parameters *** VoiceSelect = AmbulanceVoiceSelect VoiceMove = AmbulanceVoiceMove VoiceGuard = AmbulanceVoiceMove VoiceAttack = AmbulanceVoiceDetox SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = AmbulanceVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceCrush = AmbulanceVoiceCrush VoiceEnter = AmbulanceVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = CleanupHazardUpdate ModuleTag_03 WeaponSlot = PRIMARY ScanRate = 1000 ScanRange = 100.0 ;If this range exceeds the AmbulanceCleanHazardWeapon AttackRange, it'll move! End ;Can be ordered to clean up a larger area with the ability to move around at an extended range. Behavior = CleanupAreaPower ModuleTag_04 SpecialPowerTemplate = SpecialAbilityAmbulanceCleanupArea MaxMoveDistanceFromLocation = 300.0 ;allows the unit to move around while cleaning up InitiateSound = AmbulanceVoiceDetox End Behavior = TransportAIUpdate ModuleTag_05 AutoAcquireEnemiesWhenIdle = No ;CleanupHazardUpdate handles this... Turret TurretTurnRate = 180 TurretPitchRate = 180 AllowsPitch = Yes MinPhysicalPitch = -20 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) TurretFireAngleSweep = PRIMARY 25 ControlledWeaponSlots = PRIMARY End End Locomotor = SET_NORMAL HumveeLocomotor Behavior = TransportContain ModuleTag_06 Slots = 3 HealthRegen%PerSec = 25 DamagePercentToUnits = 10% AllowInsideKindOf = INFANTRY AllowAlliesInside = Yes AllowNeutralInside = No AllowEnemiesInside = No ExitDelay = 250 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting End Behavior = PhysicsBehavior ModuleTag_07 Mass = 50.0 End Behavior = SlowDeathBehavior ModuleTag_08 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 0 FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_FinalAmbulanceDebris End Behavior = ObjectCreationUpgrade ModuleTag_09 UpgradeObject = Lazr_OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_10 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_19 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_11 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = DestroyDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = FXListDie ModuleTag_15 DeathTypes = ALL -CRUSHED -SPLATTED DeathFX = FX_GenericTankDeathEffect End Behavior = CreateCrateDie ModuleTag_16 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = ExperienceScalarUpgrade ModuleTag_17 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = TransitionDamageFX ModuleTag_18 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = AutoHealBehavior ModuleTag_22 HealingAmount = 4 HealingDelay = 1000 ; msec Radius = 100.0f StartsActive = Yes KindOf = INFANTRY End Behavior = AutoHealBehavior ModuleTag_23 HealingAmount = 5 HealingDelay = 1000 ; msec Radius = 100.0f StartsActive = Yes KindOf = VEHICLE ForbiddenKindOf = AIRCRAFT SkipSelfForHealing = Yes End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 12.0 ; height set to allow clear clipping of projectile streams GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ;------------------------------------------------------------------------------ Object Lazr_AmericaVehicleBattleDrone ; *** ART Parameters *** SelectPortrait = SABattleDrone_L ButtonImage = SABattleDrone UpgradeCameo1 = Upgrade_AmericaDroneArmor ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE ;MAIN CHASSIS Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVBATTLEDR Animation = AVBATTLEDR.AVBATTLEDR AnimationMode = LOOP Turret = Turret01 TurretPitch = TurretEL01 WeaponMuzzleFlash = PRIMARY TurretFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = REALLYDAMAGED Model = AVBATTLEDR_D Animation = AVBATTLEDR_D.AVBATTLEDR_D AnimationMode = LOOP End End ;EXTENDING ARM (FOR REPAIRING) Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes DefaultConditionState Model = AVBATTLEDR_A End ;Unloading the arm (before starting to repair) ConditionState = UNPACKING Animation = AVBATTLEDR_A1.AVBATTLEDR_A1 AnimationMode = ONCE End ;Loading the arm (after reparing complete) ConditionState = PACKING Animation = AVBATTLEDR_A1.AVBATTLEDR_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ;Repair extending animation 1 (using bogus condition states -- doesn't justify making a whole new set) ConditionState = FIRING_B Animation = AVBATTLEDR_A2.AVBATTLEDR_A2 AnimationMode = ONCE End ;Repair retracting animation 1 (using bogus condition states -- doesn't justify making a whole new set) ConditionState = FIRING_C Animation = AVBATTLEDR_A2.AVBATTLEDR_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:BattleDrone Side = AmericaLaserGeneral EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY BattleDroneMachineGun End ArmorSet Conditions = None Armor = TankArmor DamageFX = SmallTankDamageFX End BuildCost = 200 BuildTime = 5.0 ;in seconds VisionRange = 150 ShroudClearingRange = 150 Prerequisites Object = Lazr_AmericaWarFactory End ExperienceValue = 10 10 10 10 ;Experience point value at each level IsTrainable = No ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE NO_SELECT Body = ActiveBody ModuleTag_03 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_04 Turret TurretTurnRate = 360 // turn rate, in degrees per sec TurretPitchRate = 360 MinPhysicalPitch = -75 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) AllowsPitch = Yes ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL BattleDroneLocomotor Locomotor = SET_PANIC BattleDronePanicLocomotor ;used for repairing master (zippy) Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 KillWhenRestingOnGround = Yes AllowBouncing = No End Behavior = MaxHealthUpgrade ModuleTag_06 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 50.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = SlavedUpdate ModuleTag_07 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. AttackWanderRange = 10 ;How far I'm allowed to wander from target. ScoutRange = 75 ;How far away from master I'm allowed when master is moving. ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. RepairRange = 8 ;How far I can zip around while repair (only moves when he stops welding) RepairMinAltitude = 18.0 ;My minimum repair hover altitude. RepairMaxAltitude = 24.0 ;My maximum repair hover altitude. RepairRatePerSecond = 10.0 ;How many health points can I repair per second. RepairWhenBelowHealth% = 60 ;How low should my master's health be (in %) before I should prioritize repairing. RepairMinReadyTime = 300 RepairMaxReadyTime = 750 RepairMinWeldTime = 250 RepairMaxWeldTime = 500 RepairWeldingSys = BlueSparks RepairWeldingFXBone = Muzzle02 StayOnSameLayerAsMaster = Yes End Behavior = DestroyDie ModuleTag_08 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_09 DeathTypes = ALL CreationList = OCL_AmericaBattleDroneExplode End Behavior = TransitionDamageFX ModuleTag_10 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall End Behavior = FXListDie ModuleTag_11 DeathTypes = ALL DeathFX = FX_AmericaBattleDroneExplode End Behavior = UpgradeDie ModuleTag_12 ;This frees the object based upgrade for the producer object. DeathTypes = ALL UpgradeToRemove = Upgrade_AmericaBattleDrone ModuleTag_13 End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5 GeometryMinorRadius = 5 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Lazr_AmericaVehicleScoutDrone ; *** ART Parameters *** SelectPortrait = SAScout_L ButtonImage = SAScout UpgradeCameo1 = Upgrade_AmericaDroneArmor ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = AVScoutDr Animation = AVScoutDr.AVScoutDr AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = AVScoutDr_d Animation = AVScoutDr_d.AVScoutDr_d AnimationMode = LOOP End End ; ***DESIGN parameters *** DisplayName = OBJECT:ScoutDrone Side = AmericaLaserGeneral EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = TankArmor DamageFX = SmallTankDamageFX End BuildCost = 100 BuildTime = 5.0 ;in seconds VisionRange = 150 ShroudClearingRange = 500 IsTrainable = No ;Can gain experience ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE DRONE NO_SELECT Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 60 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL DroneLocomotor Behavior = StealthDetectorUpdate ModuleTag_04 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 KillWhenRestingOnGround = Yes AllowBouncing = No End Behavior = SlavedUpdate ModuleTag_06 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. AttackWanderRange = 10 ;How far I'm allowed to wander from target. ScoutRange = 75 ;How far away from master I'm allowed when master is moving. ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. DistToTargetToGrantRangeBonus = 20 ;How close I have to be to the master's target in order to grant master a range bonus. StayOnSameLayerAsMaster = Yes End Behavior = MaxHealthUpgrade ModuleTag_07 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 25.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = DestroyDie ModuleTag_08 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_09 DeathTypes = ALL CreationList = OCL_AmericaScoutDroneExplode End Behavior = FXListDie ModuleTag_10 DeathTypes = ALL DeathFX = FX_AmericaScoutDroneExplode End Behavior = TransitionDamageFX ModuleTag_11 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall End Behavior = UpgradeDie ModuleTag_12 ;This frees the object based upgrade for the producer object. DeathTypes = ALL UpgradeToRemove = Upgrade_AmericaScoutDrone ModuleTag_13 End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5.0 GeometryMinorRadius = 6.0 GeometryHeight = 3.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Lazr_AmericaVehicleHellfireDrone ; *** ART Parameters *** SelectPortrait = SAHellfire_L ButtonImage = SAHellfire UpgradeCameo1 = Upgrade_AmericaDroneArmor ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVScoutDr WeaponLaunchBone = PRIMARY WeaponA End ConditionState = REALLYDAMAGED Model = AVScoutDr_d End End ; ***DESIGN parameters *** DisplayName = OBJECT:HellfireDrone Side = AmericaSuperWeaponGeneral EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = TankArmor DamageFX = SmallTankDamageFX End BuildCost = 600 BuildTime = 5.0 ;in seconds VisionRange = 100 ShroudClearingRange = 500 IsTrainable = No ;Can gain experience ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound WeaponSet Conditions = NONE Weapon = PRIMARY HellfireMissileWeapon End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE NO_SELECT Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 360 // turn rate, in degrees per sec TurretPitchRate = 360 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL HellfireDroneLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 KillWhenRestingOnGround = Yes AllowBouncing = No End Behavior = SlavedUpdate ModuleTag_06 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. AttackWanderRange = 10 ;How far I'm allowed to wander from target. ScoutRange = 75 ;How far away from master I'm allowed when master is moving. ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. StayOnSameLayerAsMaster = Yes End Behavior = MaxHealthUpgrade ModuleTag_07 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 25.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = DestroyDie ModuleTag_08 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_09 DeathTypes = ALL CreationList = OCL_AmericaScoutDroneExplode End Behavior = FXListDie ModuleTag_10 DeathTypes = ALL DeathFX = FX_AmericaScoutDroneExplode End Behavior = TransitionDamageFX ModuleTag_11 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall End Behavior = UpgradeDie ModuleTag_12 ;This frees the object based upgrade for the producer object. DeathTypes = ALL UpgradeToRemove = Upgrade_AmericaHellfireDrone ModuleTag_13 End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5.0 GeometryMinorRadius = 6.0 GeometryHeight = 3.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Lazr_AmericaVehicleSpyDrone ; *** ART Parameters *** SelectPortrait = SAScout_L ButtonImage = SAScout UpgradeCameo1 = Upgrade_AmericaDroneArmor Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = AVSpyDrone Animation = AVSpyDrone.AVSpyDrone AnimationMode = LOOP End ; Damage state waiting for pristine's approval (or may just not need one) ; ConditionState = REALLYDAMAGED ; Model = AVSpyDrone_d ; Animation = AVSpyDrone_d.AVSpyDrone_d ; AnimationMode = LOOP ; End End ; ***DESIGN parameters *** DisplayName = OBJECT:SpyDrone Side = AmericaLaserGeneral EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = SmallTankDamageFX End VisionRange = 250 ShroudClearingRange = 0; Dynamic range below IsTrainable = No ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SCORE DRONE SELECTABLE INERT NO_SELECT Body = ActiveBody ModuleTag_02 MaxHealth = 200.0 InitialHealth = 200.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = No End Locomotor = SET_NORMAL SpyDroneLocomtor Behavior = DynamicShroudClearingRangeUpdate ModuleTag_04 FinalVision = 250.0 ChangeInterval = 50 ShrinkDelay = 2000 ShrinkTime = 1000 GrowDelay = 0 GrowTime = 1000 GrowInterval = 10 ; Faster than most GridDecalTemplate Texture = EXGrid Style = SHADOW_ADDITIVE_DECAL OpacityMin = 50% OpacityMax = 100% OpacityThrobTime = 500 Color = R:32 G:64 B:128 A:0 //dim blue, additive End End Behavior = StealthDetectorUpdate ModuleTag_05 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = PhysicsBehavior ModuleTag_06 Mass = 50.0 End Behavior = DestroyDie ModuleTag_07 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_08 DeathTypes = ALL CreationList = OCL_AmericaScoutDroneExplode End Behavior = StealthUpdate ModuleTag_09 StealthDelay = 0 ; msec StealthForbiddenConditions = NONE InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = MaxHealthUpgrade ModuleTag_10 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 50.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5.0 GeometryMinorRadius = 6.0 GeometryHeight = 3.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Lazr_AmericaTankCrusader ; *** ART Parameters *** SelectPortrait = SALsrTank_L ButtonImage = SALsrTank UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining UpgradeCameo5 = Upgrade_AmericaCompositeArmor Draw = W3DTankDraw ModuleTag_01 DefaultConditionState Model = AVLaserTnk Turret = Turret WeaponFireFXBone = PRIMARY TurretMS WeaponRecoilBone = PRIMARY Barrel ;WeaponMuzzleFlash = PRIMARY TurretFX WeaponLaunchBone = PRIMARY TurretMS HideSubObject = TurretFX01 End ConditionState = REALLYDAMAGED Model = AVLaserTnk_D End ConditionState = RUBBLE Model = AVLaserTnk_D1 End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Lazr_Tank Side = AmericaLaserGeneral EditorSorting = VEHICLE TransportSlotCount = 3 WeaponSet Conditions = None Weapon = PRIMARY Lazr_CrusaderTankGun End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End BuildCost = 900 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 EnergyProduction = -1 Prerequisites Object = Lazr_AmericaWarFactory End ExperienceValue = 100 100 200 400 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Lazr_AmericaTankCrusaderCommandSet ; *** AUDIO Parameters *** VoiceSelect = LaserCrusaderVoiceSelect VoiceMove = CrusaderTankVoiceMove VoiceGuard = CrusaderTankVoiceMove VoiceAttack = LaserCrusaderVoiceAttack SoundMoveStart = CrusaderTankMoveStart SoundMoveStartDamaged = CrusaderTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = LaserCrusaderVoiceCreate VoiceEnter = CrusaderTankVoiceMove TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = CrusaderTankVoiceCrush End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE POWERED Body = ActiveBody ModuleTag_02 MaxHealth = 480 InitialHealth = 480 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 960 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 180 ;60 // turn rate, in degrees per sec ControlledWeaponSlots= PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL CrusaderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = ObjectCreationUpgrade ModuleTag_05 UpgradeObject = Lazr_OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_06 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_20 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_07 DisabledTypesToProcess = DISABLED_HELD DISABLED_UNDERPOWERED MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = ExperienceScalarUpgrade ModuleTag_08 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = MaxHealthUpgrade ModuleTag_09 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End ; Turret fly off death Behavior = SlowDeathBehavior ModuleTag_10 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_LaserTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_11 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_LaserTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion End Behavior = TransitionDamageFX ModuleTag_12 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = DestroyDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_15 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = EjectPilotDie ModuleTag_17 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = MaxHealthUpgrade ModuleTag_18 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;USA Construction Dozer or USDozer Object Lazr_AmericaVehicleDozer ; *** ART Parameters *** SelectPortrait = SACDozer_L ButtonImage = SACDozer ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVCONSTDOZ_A ParticleSysBone = EXHAUSTFX01 DozerSmokeLight WaitForStateToFinishIfPossible = TRANS_DIGGING End ConditionState = PREATTACK_A Animation = AVCONSTDOZ_A.AVCONSTDOZ_A AnimationMode = ONCE ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy ParticleSysBone = DIRTFX01 DozerDirtFall ;gush of dirt TransitionKey = TRANS_DIGGING End ConditionState = MOVING ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy WaitForStateToFinishIfPossible = TRANS_DIGGING End ConditionState = REALLYDAMAGED RUBBLE Model = AVCONSTDOZ_AD ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED End ConditionState = PREATTACK_A REALLYDAMAGED RUBBLE Model = AVCONSTDOZ_AD Animation = AVCONSTDOZ_AD.AVCONSTDOZ_AD AnimationMode = ONCE ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy TransitionKey = TRANS_DIGGING_DAMAGED End ConditionState = MOVING REALLYDAMAGED RUBBLE Model = AVCONSTDOZ_AD ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED End TrackMarks = EXTireTrack2.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = TIRE01 RightFrontTireBone = TIRE02 LeftRearTireBone = TIRE03 RightRearTireBone = TIRE04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Dozer Side = AmericaLaserGeneral EditorSorting = VEHICLE TransportSlotCount = 5 ;how many "slots" we take in a transport (0 == not transportable) BuildCost = 1000 BuildTime = 5.0 ; in seconds VisionRange = 200 ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY None End WeaponSet Conditions = MINE_CLEARING_DETAIL Weapon = PRIMARY DozerMineDisarmingWeapon End ArmorSet Conditions = None Armor = DozerArmor ;Special Explosion-Proof Armor DamageFX = TankDamageFX End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Lazr_AmericaDozerCommandSet ; *** AUDIO Parameters *** VoiceSelect = DozerUSAVoiceSelect VoiceMove = DozerUSAVoiceMove VoiceGuard = DozerUSAVoiceMove VoiceTaskComplete = DozerUSAVoiceBuildComplete SoundMoveStart = DozerUSAMoveStart SoundMoveStartDamaged = DozerUSAMoveStart UnitSpecificSounds VoiceCreate = DozerUSAVoiceCreate VoiceNoBuild = DozerUSAVoiceBuildNot VoiceCrush = DozerUSAVoiceCrush VoiceRepair = DozerUSAVoiceRepair VoiceDisarm = DozerUSAVoiceClearMine TruckLandingSound = NoSound TruckPowerslideSound = NoSound VoiceEnter = DozerUSAVoiceMove VoiceBuildResponse = DozerUSAVoiceBuild End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DOZER Body = ActiveBody ModuleTag_02 MaxHealth = 250.0 InitialHealth = 250.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 500 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = DozerAIUpdate ModuleTag_03 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second BoredTime = 5000 ; in milliseconds BoredRange = 150 ; when bored, we look this far away to do something ; the only "enemies" that workers can acquire are mines, to be disarmed... AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL AmericaVehicleDozerLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 75.0 End Behavior = StealthDetectorUpdate ModuleTag_05 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. ExtraRequiredKindOf = MINE ; we can only detect MINES, not other stealthed things End Behavior = TransitionDamageFX ModuleTag_06 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_07 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 100 DestructionDelay = 1500 DestructionDelayVariance = 600 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_AmericaDozerExplode FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_22 ;;;;;;;; End Behavior = FXListDie ModuleTag_23 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = DestroyDie ModuleTag_24 DeathTypes = NONE +CRUSHED +SPLATTED End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 15.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Lazr_AmericaTankPaladin ; *** ART Parameters *** SelectPortrait = SAPaladin_L ButtonImage = SAPaladin UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaAdvancedTraining UpgradeCameo4 = Upgrade_AmericaCompositeArmor UpgradeCameo5 = Upgrade_AmericaHellfireDrone Draw = W3DTankDraw ModuleTag_01 ExtraPublicBone = Laser ConditionState = NONE Model = AVPaladin Turret = Turret01 WeaponFireFXBone = PRIMARY TurretMS WeaponRecoilBone = PRIMARY Barrel ;WeaponMuzzleFlash = PRIMARY TurretFX WeaponLaunchBone = PRIMARY TurretMS HideSubObject = TurretFX01 End ConditionState = REALLYDAMAGED Model = AVPaladin_D Turret = Turret01 WeaponFireFXBone = PRIMARY TurretMS WeaponRecoilBone = PRIMARY Barrel ;WeaponMuzzleFlash = PRIMARY TurretFX WeaponLaunchBone = PRIMARY TurretMS HideSubObject = TurretFX01 End ConditionState = RUBBLE Model = AVPaladin_D Turret = Turret01 WeaponFireFXBone = PRIMARY TurretMS WeaponRecoilBone = PRIMARY Barrel ;WeaponMuzzleFlash = PRIMARY TurretFX WeaponLaunchBone = PRIMARY TurretMS HideSubObject = TurretFX01 End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Paladin Side = AmericaLaserGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) EnergyProduction = -1 WeaponSet Conditions = None Weapon = PRIMARY Lazr_PaladinTankGun End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End ;ArmorSet ; Conditions = PLAYER_UPGRADE ; Armor = UpgradedTankArmor ; DamageFX = TankDamageFX ;End BuildCost = 1100 BuildTime = 12.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Lazr_AmericaWarFactory Science = SCIENCE_PaladinTank End ExperienceValue = 100 100 200 400 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Lazr_AmericaTankPaladinCommandSet ; *** AUDIO Parameters *** VoiceSelect = PaladinTankVoiceSelect VoiceMove = PaladinTankVoiceMove VoiceGuard = PaladinTankVoiceMove VoiceAttack = PaladinTankVoiceAttack SoundMoveStart = PaladinTankMoveStart SoundMoveStartDamaged = PaladinTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = PaladinTankVoiceCreate TurretMoveLoop = TurretMoveLoop SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = PaladinTankVoiceCrush VoiceEnter = PaladinTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 500.0 InitialHealth = 500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 180 ;60 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End ;AltTurret ; TurretTurnRate = 9000; ; ControlledWeaponSlots = SECONDARY ;End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL CrusaderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End ; Turret fly off death Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 ; ModifierBonusPerOverkillPercent = 30% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_PaladinTankDeathEffect End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_06 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_PaladinTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion End Behavior = PointDefenseLaserUpdate ModuleTag_07 WeaponTemplate = PaladinPointDefenseLaser PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE SecondaryTargetTypes = INFANTRY ScanRate = 500 ScanRange = 120.0 PredictTargetVelocityFactor = 3.0 End Behavior = ObjectCreationUpgrade ModuleTag_08 UpgradeObject = Lazr_OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_09 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_19 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_10 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = ExperienceScalarUpgrade ModuleTag_11 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = TransitionDamageFX ModuleTag_12 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = DestroyDie ModuleTag_15 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = CreateCrateDie ModuleTag_16 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = EjectPilotDie ModuleTag_17 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = MaxHealthUpgrade ModuleTag_18 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;Sentry Drone Object Lazr_AmericaVehicleSentryDrone ; *** ART Parameters *** SelectPortrait = SAsentry_L ButtonImage = SAsentry UpgradeCameo1 = Upgrade_AmericaSentryDroneGun UpgradeCameo2 = Upgrade_AmericaDroneArmor ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 InitialRecoilSpeed = 10 MaxRecoilDistance = 1.5 RecoilSettleSpeed = 3 OkToChangeModelColor = Yes DefaultConditionState Model = AVSENTRY Animation = AVSENTRY.AVSENTRY AnimationMode = LOOP Turret = TURRET01 HideSubObject = TURRETUP09 ;Hide controlled turret WeaponFireFXBone = PRIMARY TurretFX WeaponMuzzleFlash = PRIMARY TurretFX WeaponRecoilBone = PRIMARY TurretUp End ConditionState = REALLYDAMAGED Turret = TURRET01 Model = AVSENTRY_D Animation = AVSENTRY_D.AVSENTRY_D AnimationMode = LOOP HideSubObject = TURRETUP09 ;Hide controlled turret End ConditionState = RUBBLE Model = AVSENTRY_D1 HideSubObject = TURRETUP09 ;Hide controlled turret End AliasConditionState = RUBBLE WEAPONSET_PLAYER_UPGRADE ConditionState = WEAPONSET_PLAYER_UPGRADE Model = AVSENTRY Animation = AVSENTRY.AVSENTRY AnimationMode = LOOP ShowSubObject = TURRETUP09 End ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = AVSENTRY_D Animation = AVSENTRY_D.AVSENTRY_D AnimationMode = LOOP ShowSubObject = TURRETUP09 End TrackMarks = EXTnkTrack.tga TreadDebrisLeft = SentryDroneTrackDebrisDirtLeft TreadDebrisRight = SentryDroneTrackDebrisDirtRight TreadAnimationRate = 4.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:SentryDrone Side = AmericaLaserGeneral EditorSorting = VEHICLE TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY None End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY SentryDroneGun End ArmorSet Conditions = None Armor = SentryDroneArmor DamageFX = TruckDamageFX End BuildCost = 800 BuildTime = 10.0 ;in seconds VisionRange = 200 ShroudClearingRange = 350 Prerequisites Object = Lazr_AmericaWarFactory End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = No ;Can gain experience CrusherLevel = 0 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Lazr_AmericaVehicleSentryDroneCommandSet ; *** AUDIO Parameters *** VoiceSelect = SentryDroneVoiceSelect VoiceMove = SentryDroneVoiceMove VoiceGuard = SentryDroneVoiceMove VoiceAttack = SentryDroneVoiceMove SoundMoveStart = NoSound SoundMoveStartDamaged = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = NoSound TurretMoveStart = NoSound TurretMoveLoop = NoSound VoiceEnter = NoSound Deploy = NoSound Undeploy = NoSound End Behavior = WeaponSetUpgrade ModuleTag_03 TriggeredBy = Upgrade_AmericaSentryDroneGun End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE ATTACK_NEEDS_LINE_OF_SIGHT DRONE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = MaxHealthUpgrade ModuleTag_99 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 75.0 ChangeType = ADD_CURRENT_HEALTH_TOO End Behavior = DeployStyleAIUpdate ModuleTag_04 Turret TurretTurnRate = 180 TurretPitchRate = 180 FirePitch = 0 ; Instead of aiming pitchwise at the target, it will aim here AllowsPitch = No RecenterTime = 1000 ; how long to wait during idle before recentering ControlledWeaponSlots = PRIMARY NaturalTurretAngle = 0 InitiallyDisabled = No MinIdleScanInterval = 250 ; in milliseconds MaxIdleScanInterval = 250 ; in milliseconds MinIdleScanAngle = 0 ; in degrees off the natural turret angle MaxIdleScanAngle = 360 ; in degrees off the natural turret angle End AutoAcquireEnemiesWhenIdle = Yes ;Stealthed ; Means "Yes when idle, even if I am stealthed" PackTime = 1000 UnpackTime = 1000 TurretsFunctionOnlyWhenDeployed = Yes TurretsMustCenterBeforePacking = Yes End Locomotor = SET_NORMAL SentryLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 End Behavior = StealthUpdate ModuleTag_06 StealthDelay = 2000 ; msec StealthForbiddenConditions = FIRING_PRIMARY MOVING HintDetectableConditions = IS_FIRING_WEAPON FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = SlowDeathBehavior ModuleTag_07 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_AmericaVehicleSentryDroneDie FX = FINAL FX_AmericaVehicleTomahawkDeathExplosion End Behavior = DestroyDie ModuleTag_08 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_10 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_11 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = StealthDetectorUpdate ModuleTag_12 DetectionRate = 900 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 225 ;Dustin, enable this for independant balancing! End Geometry = BOX GeometryMajorRadius = 9.0 GeometryMinorRadius = 7.0 GeometryHeight = 11.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Lazr_AmericaTankAvengerLaserTurret ; Seperate turret object so it can attack independantly ; *** ART Parameters *** SelectPortrait = SNPropSpeaker_L ButtonImage = SNPropSpeaker UpgradeCameo1 = Upgrade_Nationalism UpgradeCameo2 = Upgrade_ChinaUraniumShells UpgradeCameo3 = Upgrade_ChinaNuclearTanks ;UpgradeCameo4 = NONE UpgradeCameo5 = Upgrade_ChinaOverlordPropagandaTower Draw = W3DDependencyModelDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = TurretFX01 ExtraPublicBone = TurretFX02 ExtraPublicBone = TURRET01 ExtraPublicBone = TURRETEL ExtraPublicBone = TURRETEL01 AttachToBoneInContainer = FIREPOINT01 DefaultConditionState Model = AVAVNGER_G Turret = TURRET01 TurretPitch = TURRETEL01 End ConditionState = REALLYDAMAGED Model = AVAVNGER_GD Turret = TURRET01 TurretPitch = TURRETEL01 End End PlacementViewAngle = -45 ; ***DESIGN parameters *** Side = AmericaLaserGeneral EditorSorting = SYSTEM TransportSlotCount = 1 WeaponSet Conditions = None Weapon = PRIMARY Lazr_CrusaderTankGun Weapon = SECONDARY AvengerAirLaserTwo End ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Avenger with his damage module End VisionRange = 0 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY SECONDARY TurretTurnRate = 180 // turn rate, in degrees per sec TurretPitchRate = 180 AllowsPitch = Yes NaturalTurretPitch = 45 End AutoAcquireEnemiesWhenIdle = Yes MoodAttackCheckRate = 500 ; default is 2000 End Behavior = DestroyDie ModuleTag_05 ; End Geometry = BOX GeometryMajorRadius = 6.0 GeometryMinorRadius = 6.0 GeometryHeight = 10.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Lazr_AmericaTankAvenger ; *** ART Parameters *** SelectPortrait = SAAvnger_L ButtonImage = SAAvnger UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining Draw = W3DOverlordTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = TurretFX03 ExtraPublicBone = LazerSpot01 ExtraPublicBone = LazerSpot02 DefaultConditionState Model = AVAVNGER HideSubObject = TURRET01 End ConditionState = REALLYDAMAGED Model = AVAVNGER_D HideSubObject = TURRET01 End ConditionState = RUBBLE Model = AVAVNGER_D1 End ;When a bombtruck disguises as an avenger, show the turret! ConditionState = DISGUISED Model = AVAVNGER ShowSubObject = TURRET01 End ConditionState = REALLYDAMAGED DISGUISED Model = AVAVNGER_D ShowSubObject = TURRET01 ;Hide controlled turret End TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0.0 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:Avenger Side = AmericaLaserGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY AvengerTargetDesignator Weapon = SECONDARY AvengerAirLaserDummy End ArmorSet Conditions = None Armor = AvengerArmor DamageFX = TankDamageFX End BuildCost = 1500 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Lazr_AmericaWarFactory ; Object = Lazr_AmericaStrategyCenter End ExperienceValue = 100 100 200 400 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Lazr_AmericaTankAvengerCommandSet ; *** AUDIO Parameters *** VoiceSelect = AvengerVoiceSelect VoiceMove = AvengerVoiceMove VoiceGuard = AvengerVoiceMove VoiceAttack = AvengerVoicePaint VoiceAttackAir = AvengerVoiceAttack SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = AvengerVoiceCreate TurretMoveLoop = NoSound SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = NoSound VoiceEnter = AvengerVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL AvengerLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End ; Turret fly off death Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 ; ModifierBonusPerOverkillPercent = 30% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_AvengerTankDeathEffect End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_06 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_AvengerTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One WeaponTemplate = AvengerPointDefenseLaserOne PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 0 ScanRange = 200.0 PredictTargetVelocityFactor = 1.0 End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_Two WeaponTemplate = AvengerPointDefenseLaserTwo PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 100 ScanRange = 200.0 PredictTargetVelocityFactor = 1.0 End Behavior = OverlordContain ModuleTag_OverlordContain Slots = 1 DamagePercentToUnits = 100% AllowInsideKindOf = PORTABLE_STRUCTURE PassengersAllowedToFire = Yes PayloadTemplateName = AmericaTankAvengerLaserTurret ExperienceSinkForRider = Yes ; I get the Exp for things my turret friend kills End Behavior = ObjectCreationUpgrade ModuleTag_08 UpgradeObject = Lazr_OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_09 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_19 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_10 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = ExperienceScalarUpgrade ModuleTag_11 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = TransitionDamageFX ModuleTag_12 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = DestroyDie ModuleTag_15 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = CreateCrateDie ModuleTag_16 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = EjectPilotDie ModuleTag_17 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = FlammableUpdate ModuleTag_22 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = MaxHealthUpgrade ModuleTag_23 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Lazr_AmericaTankMicrowave ; *** ART Parameters *** SelectPortrait = SAThunderBolt_L ButtonImage = SAThunderBolt UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining UpgradeCameo5 = Upgrade_AmericaCompositeArmor Draw = W3DTankDraw ModuleTag_01 ExtraPublicBone = WEAPON02 OkToChangeModelColor = Yes ConditionState = NONE Model = AVTHUNDRBLT ParticleSysBone = PROJECTORGLOW09 MicrowaveLenzflare ParticleSysBone = NONE MicrowaveRotisserie End ConditionState = USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C Model = AVTHUNDRBLT End ConditionState = REALLYDAMAGED RUBBLE Model = AVTHUNDRBLT_D ParticleSysBone = PROJECTORGLOW09 MicrowaveLenzflare ParticleSysBone = NONE MicrowaveRotisserie End ConditionState = REALLYDAMAGED RUBBLE USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C Model = AVTHUNDRBLT_D End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 4.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:Microwave Side = AmericaLaserGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End WeaponSet Conditions = None ; Weapon = PRIMARY MicrowaveTankVehicleDisabler Weapon = PRIMARY MicrowaveTankBuildingDisabler ;SECONDARY MicrowaveTankBuildingDisabler Weapon = SECONDARY MicrowaveTankBuildingClearer ;TERTIARY MicrowaveTankBuildingClearer End BuildCost = 800 BuildTime = 10.0 ;in seconds VisionRange = 200 ShroudClearingRange = 300 Prerequisites Object = Lazr_AmericaWarFactory Object = Lazr_AmericaStrategyCenter End ExperienceValue = 100 100 200 400 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Lazr_AmericaTankMicrowaveCommandSet ; *** AUDIO Parameters *** VoiceSelect = MicrowaveTankVoiceSelect VoiceMove = MicrowaveTankVoiceMove VoiceGuard = MicrowaveTankVoiceMove VoiceAttack = MicrowaveTankVoiceAttack SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = MicrowaveTankVoiceCreate VoiceEnter = MicrowaveTankVoiceMove SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = MicrowaveTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 480 InitialHealth = 480 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 960 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL CrusaderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End ; Turret fly off death Behavior = SlowDeathBehavior ModuleTag_10 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_MicrowaveTankDeath FX = FINAL FX_GenericTankDeathExplosion End Behavior = TransitionDamageFX ModuleTag_12 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = DestroyDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_15 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_MicrowaveTankDeath_CrushEffect End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = EjectPilotDie ModuleTag_17 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = MaxHealthUpgrade ModuleTag_18 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = ExperienceScalarUpgrade ModuleTag_Upgrade01 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = ObjectCreationUpgrade ModuleTag_Upgrade02 UpgradeObject = Lazr_OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_Upgrade03 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_Upgrade04 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_Prod01 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = FireWeaponUpdate ModuleTag_22 Weapon = MicrowaveTankEmitterWeapon ExclusiveWeaponDelay = 1000 ; If we fire a real weapon, we turn this module off for this long End Behavior = CommandButtonHuntUpdate ModuleTag_24 ; allows use of command button hunt script with this unit. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Lazr_AmericaCommandCenter ; *** ART Parameters *** SelectPortrait = SAComCentr_L ButtonImage = SAComCentr ; ----------------- Main Building ------------------------ Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ****************************************** ConditionState = NONE Model = AbbtCmdrLG Animation = AbbtCmdrLG.AbbtCmdrLG AnimationMode = LOOP End ConditionState = DAMAGED Model = ABBtCmdHQL_D Animation = ABBtCmdHQL_D.ABBtCmdHQL_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = ABBtCmdHQL_E Animation = ABBtCmdHQL_E.ABBtCmdHQL_E AnimationMode = LOOP End ; night **************************************** ConditionState = NIGHT Model = ABBtCmdHQL_N Animation = ABBtCmdHQL_N.ABBtCmdHQL_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = ABBtCmdHQL_DN Animation = ABBtCmdHQL_DN.ABBtCmdHQL_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABBtCmdHQL_EN Animation = ABBtCmdHQL_EN.ABBtCmdHQL_EN AnimationMode = LOOP End ; Snow ConditionState = SNOW Model = ABBtCmdHQL_S Animation = ABBtCmdHQL_S.ABBtCmdHQL_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABBtCmdHQL_DS Animation = ABBtCmdHQL_DS.ABBtCmdHQL_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABBtCmdHQL_ES Animation = ABBtCmdHQL_ES.ABBtCmdHQL_ES AnimationMode = LOOP End ; night snow **************************************** ConditionState = NIGHT SNOW Model = ABBtCmdHQL_NS Animation = ABBtCmdHQL_NS.ABBtCmdHQL_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = ABBtCmdHQL_DNS Animation = ABBtCmdHQL_DNS.ABBtCmdHQL_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABBtCmdHQL_ENS Animation = ABBtCmdHQL_ENS.ABBtCmdHQL_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQL Animation = ABBtCmdHQL.ABBtCmdHQL AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABBtCmdHQL_D Animation = ABBtCmdHQL_D.ABBtCmdHQL_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABBtCmdHQL_E Animation = ABBtCmdHQL_E.ABBtCmdHQL_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABBtCmdHQL_N Animation = ABBtCmdHQL_N.ABBtCmdHQL_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABBtCmdHQL_DN Animation = ABBtCmdHQL_DN.ABBtCmdHQL_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABBtCmdHQL_EN Animation = ABBtCmdHQL_EN.ABBtCmdHQL_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABBtCmdHQL_S Animation = ABBtCmdHQL_S.ABBtCmdHQL_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABBtCmdHQL_DS Animation = ABBtCmdHQL_DS.ABBtCmdHQL_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABBtCmdHQL_ES Animation = ABBtCmdHQL_ES.ABBtCmdHQL_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABBtCmdHQL_NS Animation = ABBtCmdHQL_NS.ABBtCmdHQL_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABBtCmdHQL_DNS Animation = ABBtCmdHQL_DNS.ABBtCmdHQL_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABBtCmdHQL_ENS Animation = ABBtCmdHQL_ENS.ABBtCmdHQL_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************************************************************************************************** End ; ----------------- the factory door ------------------- Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABBtCmdHQ_A7D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT DAMAGED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABBtCmdHQ_A7E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** ConditionState = DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_CLOSING Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_CLOSING DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = MANUAL Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = MANUAL Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ------------ Radar Extending ----------------- Draw = W3DModelDraw ModuleTag_03 ConditionState = None Model = ABBtCmdHQ_AC Animation = ABBtCmdHQ_AC.ABBtCmdHQ_AC AnimationMode = LOOP End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = DAMAGED Model = ABBtCmdHQ_ACD Animation = ABBtCmdHQ_ACD.ABBtCmdHQ_ACD AnimationMode = LOOP End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_ACE Animation = ABBtCmdHQ_ACE.ABBtCmdHQ_ACE AnimationMode = LOOP End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_AC Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABBtCmdHQ_ACD Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABBtCmdHQ_ACE Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- The Door ------------------------ Draw = W3DModelDraw ModuleTag_04 DefaultConditionState Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = NIGHT SNOW DOOR_1_OPENING ConditionState = DOOR_1_OPENING DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_CLOSING Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DOOR_1_CLOSING ConditionState = DOOR_1_CLOSING DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_CLOSING DAMAGED ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_OPEN Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN DAMAGED ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABBtCmdHQ_A7D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABBtCmdHQ_A7E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A4 Animation = ABBtCmdHQ_A4.ABBtCmdHQ_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A4N Animation = ABBtCmdHQ_A4N.ABBtCmdHQ_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A4S Animation = ABBtCmdHQ_A4S.ABBtCmdHQ_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A4SN Animation = ABBtCmdHQ_A4SN.ABBtCmdHQ_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBtCmdHQ_A4 Animation = ABBtCmdHQ_A4.ABBtCmdHQ_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBtCmdHQ_A4N Animation = ABBtCmdHQ_A4N.ABBtCmdHQ_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBtCmdHQ_A4S Animation = ABBtCmdHQ_A4S.ABBtCmdHQ_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBtCmdHQ_A4SN Animation = ABBtCmdHQ_A4SN.ABBtCmdHQ_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBtCmdHQ_A4 Animation = ABBtCmdHQ_A4.ABBtCmdHQ_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A4N Animation = ABBtCmdHQ_A4N.ABBtCmdHQ_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBtCmdHQ_A4S Animation = ABBtCmdHQ_A4S.ABBtCmdHQ_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW NIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A4SN Animation = ABBtCmdHQ_A4SN.ABBtCmdHQ_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_06 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABBtCmdHQ_A6 Animation = ABBtCmdHQ_A6.ABBtCmdHQ_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark ParticleSysBone = Sparks08 BuildUpBlueSpark ParticleSysBone = Sparks09 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABBtCmdHQ_A6N Animation = ABBtCmdHQ_A6N.ABBtCmdHQ_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark ParticleSysBone = Sparks08 BuildUpBlueSpark ParticleSysBone = Sparks09 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABBtCmdHQ_A6S Animation = ABBtCmdHQ_A6S.ABBtCmdHQ_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark ParticleSysBone = Sparks08 BuildUpBlueSpark ParticleSysBone = Sparks09 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABBtCmdHQ_A6SN Animation = ABBtCmdHQ_A6SN.ABBtCmdHQ_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark ParticleSysBone = Sparks08 BuildUpBlueSpark ParticleSysBone = Sparks09 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBtCmdHQ_A6 Animation = ABBtCmdHQ_A6.ABBtCmdHQ_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBtCmdHQ_A6N Animation = ABBtCmdHQ_A6N.ABBtCmdHQ_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBtCmdHQ_A6S Animation = ABBtCmdHQ_A6S.ABBtCmdHQ_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBtCmdHQ_A6SN Animation = ABBtCmdHQ_A6SN.ABBtCmdHQ_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBtCmdHQ_A6 Animation = ABBtCmdHQ_A6.ABBtCmdHQ_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A6N Animation = ABBtCmdHQ_A6N.ABBtCmdHQ_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBtCmdHQ_A6S Animation = ABBtCmdHQ_A6S.ABBtCmdHQ_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A6SN Animation = ABBtCmdHQ_A6SN.ABBtCmdHQ_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A5 Animation = ABBtCmdHQ_A5.ABBtCmdHQ_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A5N Animation = ABBtCmdHQ_A5N.ABBtCmdHQ_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A5S Animation = ABBtCmdHQ_A5S.ABBtCmdHQ_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A5SN Animation = ABBtCmdHQ_A5SN.ABBtCmdHQ_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBtCmdHQ_A3 Animation = ABBtCmdHQ_A3.ABBtCmdHQ_A3 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBtCmdHQ_A3N Animation = ABBtCmdHQ_A3N.ABBtCmdHQ_A3N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBtCmdHQ_A3S ; @todo srj -- not found Animation = ABBtCmdHQ_A3S.ABBtCmdHQ_A3S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBtCmdHQ_A3SN Animation = ABBtCmdHQ_A3SN.ABBtCmdHQ_A3SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBtCmdHQ_A3 Animation = ABBtCmdHQ_A3.ABBtCmdHQ_A3 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A3N Animation = ABBtCmdHQ_A3N.ABBtCmdHQ_A3N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBtCmdHQ_A3S ; @todo srj -- not found Animation = ABBtCmdHQ_A3S.ABBtCmdHQ_A3S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A3S Animation = ABBtCmdHQ_A3S.ABBtCmdHQ_A3S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; Officers club flag Draw = W3DModelDraw ModuleTag_OfficersClub OkToChangeModelColor = No ConditionState = NONE Model = None End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE ConditionState = PREORDER Model = OCFlagUSA Animation = OCFlagUSA.OCFlagUSA AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PREORDER DAMAGED Model = OCFlagUSA_D Animation = OCFlagUSA_D.OCFlagUSA_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PREORDER REALLYDAMAGED RUBBLE Model = OCFlagUSA_E Animation = OCFlagUSA_E.OCFlagUSA_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:CommandCenter Side = AmericaLaserGeneral EditorSorting = STRUCTURE BuildCost = 2000 BuildTime = 45.0 ; in seconds EnergyProduction = 0 ;Command Center should be free CommandSet = Lazr_AmericaCommandCenterCommandSet VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 300 ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = CommandCenterUSASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE COMMANDCENTER SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_08 MaxHealth = 5000.0 InitialHealth = 5000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 5200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = PreorderCreate ModuleTag_PreorderCreate End Behavior = GrantUpgradeCreate ModuleTag_09 UpgradeToGrant = Upgrade_AmericaRadar ExemptStatus = UNDER_CONSTRUCTION End Behavior = ProductionUpdate ModuleTag_11 NumDoorAnimations = 1 DoorOpeningTime = 1500 ;in mSeconds DoorWaitOpenTime = 3000 ;in mSeconds DoorCloseTime = 1500 ;in mSeconds ConstructionCompleteDuration = 1500 ;in mSeconds End Behavior = RadarUpdate ModuleTag_12 RadarExtendTime = 4000 ;in mSeconds End Behavior = DefaultProductionExitUpdate ModuleTag_13 UnitCreatePoint = X:-18.0 Y: 35.0 Z:0.0 NaturalRallyPoint = X: 60.0 Y: 35.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = BaseRegenerateUpdate ModuleTag_14 ;No data End Behavior = DestroyDie ModuleTag_15 ;nothing End Behavior = CreateObjectDie ModuleTag_16 CreationList = OCL_LargeStructureDebris End Behavior = CreateObjectDie ModuleTag_17 CreationList = Lazr_OCL_AmericanRangerDebris10 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_18 DeathFX = FX_StructureMediumDeath End Behavior = RadarUpgrade ModuleTag_19 TriggeredBy = Upgrade_AmericaRadar End Behavior = OCLSpecialPower ModuleTag_20 SpecialPowerTemplate = SuperweaponDaisyCutter UpgradeOCL = SCIENCE_MOAB SUPERWEAPON_MOAB OCL = SUPERWEAPON_DaisyCutter CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_21 SpecialPowerTemplate = SpecialPowerSpyDrone OCL = SUPERWEAPON_SpyDrone CreateLocation = CREATE_ABOVE_LOCATION End Behavior = OCLSpecialPower ModuleTag_22 SpecialPowerTemplate = SuperweaponParadropAmerica UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 OCL = SUPERWEAPON_Paradrop1 CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE OCLAdjustPositionToPassable = Yes ;Like RA2, shift target to passable cell so we don't land in water and on cliffs. End ; Behavior = OCLSpecialPower ModuleTag_23;this has been removed from everywhere but the ChinaAirfield in CHI05 ; SpecialPowerTemplate = SuperweaponCarpetBomb ; OCL = SUPERWEAPON_CarpetBomb ; CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE ; End Behavior = OCLSpecialPower ModuleTag_24 SpecialPowerTemplate = SpecialPowerSpySatellite OCL = SUPERWEAPON_SpySatellite CreateLocation = CREATE_AT_LOCATION End Behavior = OCLSpecialPower ModuleTag_25 SpecialPowerTemplate = SuperweaponCrateDrop OCL = SUPERWEAPON_CrateDrop CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_26 SpecialPowerTemplate = SuperweaponA10ThunderboltMissileStrike UpgradeOCL = SCIENCE_A10ThunderboltMissileStrike3 SUPERWEAPON_A10ThunderboltMissileStrike3 UpgradeOCL = SCIENCE_A10ThunderboltMissileStrike2 SUPERWEAPON_A10ThunderboltMissileStrike2 OCL = SUPERWEAPON_A10ThunderboltMissileStrike1 CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_27 SpecialPowerTemplate = SuperweaponEmergencyRepair UpgradeOCL = SCIENCE_EmergencyRepair3 SUPERWEAPON_RepairVehicles3 UpgradeOCL = SCIENCE_EmergencyRepair2 SUPERWEAPON_RepairVehicles2 OCL = SUPERWEAPON_RepairVehicles1 CreateLocation = CREATE_AT_LOCATION End ;;;; **NOTE put this back in? ; note that this power isn't normally available to human players, only to AI ones ;Behavior = DefectorSpecialPower ModuleTag_28 ; SpecialPowerTemplate = SpecialPowerDefector ; @todo lorenzen add fatcursor params ;End ;Kris: Now launched by OCLSpecialPower for DaisyCutter. ;Behavior = OCLSpecialPower ModuleTag_29 ; SpecialPowerTemplate = SuperweaponMOAB ; OCL = SUPERWEAPON_MOAB ; CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE ;End Behavior = FlammableUpdate ModuleTag_30 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_31 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = SpecialAbility ModuleTag_32 SpecialPowerTemplate = SuperweaponSpectreGunship UpdateModuleStartsAttack = Yes End Behavior = SpectreGunshipDeploymentUpdate ModuleTag_33 SpecialPowerTemplate = SuperweaponSpectreGunship GunshipTemplateName = AmericaJetSpectreGunship AttackAreaRadius = 200 CreateLocation = CREATE_AT_EDGE_FARTHEST_FROM_TARGET ;other choices are: *NEAR_SOURCE *FARTHEST_FROM_SOURCE *NEAR_TARGET End Behavior = OCLSpecialPower ModuleTag_34 SpecialPowerTemplate = SuperweaponLeafletDrop OCL = SUPERWEAPON_LeafletDrop CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End ;Behavior = CommandSetUpgrade ModuleTag_35 ; CommandSet = Lazr_AmericaCommandCenterCommandSetToMOAB ; TriggeredBy = Upgrade_AmericaMOAB ;End Behavior = GrantScienceUpgrade ModuleTag_Science GrantScience = SCIENCE_MOAB TriggeredBy = Upgrade_AmericaMOAB End Geometry = BOX GeometryMajorRadius = 60.0 GeometryMinorRadius = 70.0 GeometryHeight = 49.0 GeometryIsSmall = No FactoryExitWidth = 25 ; How much space to leave for units exiting. Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Lazr_AmericaPowerPlant ; *** ART Parameters *** SelectPortrait = SAPowerPlant_L ButtonImage = SAPowerPlant UpgradeCameo1 = Upgrade_AmericaAdvancedControlRods ; ---- the building itself ------ Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ******************************************** ConditionState = NONE; Model = ABPWRPLANT Animation = ABPWRPLANT.ABPWRPLANT AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED Model = ABPWRPLANT_D ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE Model = ABPWRPLANT_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks End ; day upgrade ConditionState = POWER_PLANT_UPGRADED ; Model = ABPWRPLANT Animation = ABPWRPLANT.ABPWRPLANT AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ConditionState = DAMAGED POWER_PLANT_UPGRADED Model = ABPWRPLANT_D ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED Model = ABPWRPLANT_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ; night ConditionState = NIGHT; Model = ABPWRPLANT_N Animation = ABPWRPLANT_N.ABPWRPLANT_N AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED NIGHT Model = ABPWRPLANT_DN Animation = ABPWRPLANT_DN.ABPWRPLANT_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks ParticleSysBone = Sparks03 LiveWireSparks02 End ConditionState = REALLYDAMAGED RUBBLE NIGHT; Model = ABPWRPLANT_EN Animation = ABPWRPLANT_EN.ABPWRPLANT_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks End ; night upgraded ConditionState = NIGHT POWER_PLANT_UPGRADED Model = ABPWRPLANT_N Animation = ABPWRPLANT_N.ABPWRPLANT_N AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ConditionState = DAMAGED NIGHT POWER_PLANT_UPGRADED Model = ABPWRPLANT_DN Animation = ABPWRPLANT_DN.ABPWRPLANT_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE NIGHT POWER_PLANT_UPGRADED Model = ABPWRPLANT_EN Animation = ABPWRPLANT_EN.ABPWRPLANT_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ; day ******************************************** ConditionState = SNOW Model = ABPWRPLANT_S Animation = ABPWRPLANT_S.ABPWRPLANT_S AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED SNOW Model = ABPWRPLANT_DS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABPWRPLANT_ES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks End ; day upgrade ConditionState = POWER_PLANT_UPGRADED SNOW; Model = ABPWRPLANT_S Animation = ABPWRPLANT_S.ABPWRPLANT_S AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW Model = ABPWRPLANT_DS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW Model = ABPWRPLANT_ES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ; night ConditionState = NIGHT SNOW; Model = ABPWRPLANT_NS Animation = ABPWRPLANT_NS.ABPWRPLANT_NS AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED NIGHT SNOW Model = ABPWRPLANT_DNS Animation = ABPWRPLANT_DNS.ABPWRPLANT_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks ParticleSysBone = Sparks03 LiveWireSparks02 End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW; Model = ABPWRPLANT_ENS Animation = ABPWRPLANT_ENS.ABPWRPLANT_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks End ; night upgraded ConditionState = NIGHT POWER_PLANT_UPGRADED SNOW Model = ABPWRPLANT_NS Animation = ABPWRPLANT_NS.ABPWRPLANT_NS AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ConditionState = DAMAGED NIGHT POWER_PLANT_UPGRADED SNOW Model = ABPWRPLANT_DNS Animation = ABPWRPLANT_DNS.ABPWRPLANT_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE NIGHT POWER_PLANT_UPGRADED SNOW Model = ABPWRPLANT_ENS Animation = ABPWRPLANT_ENS.ABPWRPLANT_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPWRPLANT Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABPWRPLANT_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABPWRPLANT_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABPWRPLANT_N Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABPWRPLANT_DN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABPWRPLANT_EN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABPWRPLANT_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABPWRPLANT_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABPWRPLANT_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABPWRPLANT_NS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABPWRPLANT_DNS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABPWRPLANT_ENS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD SNOW POWER_PLANT_UPGRADED AliasConditionState = SOLD SNOW DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD SNOW REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED POWER_PLANT_UPGRADED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A4 Animation = ABPwrPlant_A4.ABPwrPlant_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A4N Animation = ABPwrPlant_A4N.ABPwrPlant_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A4S Animation = ABPwrPlant_A4S.ABPwrPlant_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A4S Animation = ABPwrPlant_A4S.ABPwrPlant_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABPwrPlant_A4 Animation = ABPwrPlant_A4.ABPwrPlant_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABPwrPlant_A4N Animation = ABPwrPlant_A4N.ABPwrPlant_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABPwrPlant_A4S Animation = ABPwrPlant_A4S.ABPwrPlant_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABPwrPlant_A4SN Animation = ABPwrPlant_A4SN.ABPwrPlant_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABPwrPlant_A4 Animation = ABPwrPlant_A4.ABPwrPlant_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABPwrPlant_A4N Animation = ABPwrPlant_A4N.ABPwrPlant_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABPwrPlant_A4S Animation = ABPwrPlant_A4S.ABPwrPlant_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABPwrPlant_A4SN Animation = ABPwrPlant_A4SN.ABPwrPlant_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABPwrPlant_A6 Animation = ABPwrPlant_A6.ABPwrPlant_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SparksS01 BuildUpBlueSpark ParticleSysBone = SparksS02 BuildUpBlueSpark ParticleSysBone = SparksS03 SparksSmall ParticleSysBone = SparksS06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABPwrPlant_A6N Animation = ABPwrPlant_A6N.ABPwrPlant_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SparksS01 BuildUpBlueSpark ParticleSysBone = SparksS02 BuildUpBlueSpark ParticleSysBone = SparksS03 SparksSmall ParticleSysBone = SparksS06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABPwrPlant_A6S Animation = ABPwrPlant_A6S.ABPwrPlant_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SparksS01 BuildUpBlueSpark ParticleSysBone = SparksS02 BuildUpBlueSpark ParticleSysBone = SparksS03 SparksSmall ParticleSysBone = SparksS06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABPwrPlant_A6SN Animation = ABPwrPlant_A6SN.ABPwrPlant_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SparksS01 BuildUpBlueSpark ParticleSysBone = SparksS02 BuildUpBlueSpark ParticleSysBone = SparksS03 SparksSmall ParticleSysBone = SparksS06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABPwrPlant_A6 Animation = ABPwrPlant_A6.ABPwrPlant_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABPwrPlant_A6N Animation = ABPwrPlant_A6N.ABPwrPlant_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABPwrPlant_A6S Animation = ABPwrPlant_A6S.ABPwrPlant_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABPwrPlant_A6SN Animation = ABPwrPlant_A6SN.ABPwrPlant_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABPwrPlant_A6 Animation = ABPwrPlant_A6.ABPwrPlant_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABPwrPlant_A6N Animation = ABPwrPlant_A6N.ABPwrPlant_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABPwrPlant_A6S Animation = ABPwrPlant_A6S.ABPwrPlant_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABPwrPlant_A6SN Animation = ABPwrPlant_A6SN.ABPwrPlant_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A5 Animation = ABPwrPlant_A5.ABPwrPlant_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A5N Animation = ABPwrPlant_A5N.ABPwrPlant_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A5S Animation = ABPwrPlant_A5S.ABPwrPlant_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A5SN Animation = ABPwrPlant_A5SN.ABPwrPlant_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABPwrPlant_AB Animation = ABPwrPlant_AB.ABPwrPlant_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABPwrPlant_ABN Animation = ABPwrPlant_ABN.ABPwrPlant_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABPwrPlant_ABS Animation = ABPwrPlant_ABS.ABPwrPlant_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABPwrPlant_ABSN Animation = ABPwrPlant_ABSN.ABPwrPlant_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABPwrPlant_AB Animation = ABPwrPlant_AB.ABPwrPlant_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABPwrPlant_ABN Animation = ABPwrPlant_ABN.ABPwrPlant_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABPwrPlant_ABS Animation = ABPwrPlant_ABS.ABPwrPlant_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABPwrPlant_ABSN Animation = ABPwrPlant_ABSN.ABPwrPlant_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ---- the control rods ----- Draw = W3DModelDraw ModuleTag_05 OkToChangeModelColor = Yes ; no upgrade ConditionState = NONE Model ABPWRPLANT_A1 End AliasConditionState = SNOW AliasConditionState = NIGHT AliasConditionState = SNOW NIGHT ConditionState = DAMAGED Model ABPWRPLANT_A1D End AliasConditionState = DAMAGED SNOW AliasConditionState = DAMAGED NIGHT AliasConditionState = DAMAGED SNOW NIGHT ConditionState = REALLYDAMAGED RUBBLE Model ABPWRPLANT_A1E End AliasConditionState = REALLYDAMAGED RUBBLE SNOW AliasConditionState = REALLYDAMAGED RUBBLE NIGHT AliasConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPWRPLANT_A1 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABPWRPLANT_A1D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = ABPWRPLANT_A1E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT ; first to upgrade ConditionState = POWER_PLANT_UPGRADING Model ABPWRPLANT_A1 Animation = ABPWRPLANT_A1.ABPWRPLANT_A1 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = POWER_PLANT_UPGRADING SNOW AliasConditionState = POWER_PLANT_UPGRADING NIGHT AliasConditionState = POWER_PLANT_UPGRADING SNOW NIGHT ConditionState = DAMAGED POWER_PLANT_UPGRADING Model ABPWRPLANT_A1D Animation = ABPWRPLANT_A1D.ABPWRPLANT_A1D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = DAMAGED POWER_PLANT_UPGRADING SNOW AliasConditionState = DAMAGED POWER_PLANT_UPGRADING NIGHT AliasConditionState = DAMAGED POWER_PLANT_UPGRADING SNOW NIGHT ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING Model ABPWRPLANT_A1E Animation = ABPWRPLANT_A1E.ABPWRPLANT_A1E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING SNOW AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING NIGHT AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING SNOW NIGHT ; already upgraded ConditionState = POWER_PLANT_UPGRADED Model ABPWRPLANT_A1 Animation = ABPWRPLANT_A1.ABPWRPLANT_A1 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = POWER_PLANT_UPGRADED SNOW AliasConditionState = POWER_PLANT_UPGRADED NIGHT AliasConditionState = POWER_PLANT_UPGRADED SNOW NIGHT ConditionState = DAMAGED POWER_PLANT_UPGRADED Model ABPWRPLANT_A1D Animation = ABPWRPLANT_A1D.ABPWRPLANT_A1D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW AliasConditionState = DAMAGED POWER_PLANT_UPGRADED NIGHT AliasConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW NIGHT ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED Model ABPWRPLANT_A1E Animation = ABPWRPLANT_A1E.ABPWRPLANT_A1E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED NIGHT AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED POWER_PLANT_UPGRADED ;************************************************************************************************************************** End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:ColdFusionReactor Side = AmericaLaserGeneral EditorSorting = STRUCTURE Prerequisites ; Object = Lazr_AmericaCommandCenter End BuildCost = 700 BuildTime = 10.0 ; in seconds EnergyProduction = 8 EnergyBonus = 8 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End CommandSet = Lazr_AmericaPowerPlantCommandSet ExperienceValue = 100 100 100 100 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = ColdFusionReactorSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_POWER MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_06 MaxHealth = 800.0 InitialHealth = 800.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = PowerPlantUpgrade ModuleTag_07 TriggeredBy = Upgrade_AmericaAdvancedControlRods End Behavior = BaseRegenerateUpdate ModuleTag_08 ;No data End Behavior = PowerPlantUpdate ModuleTag_09 RodsExtendTime = 600 End Behavior = DestroyDie ModuleTag_10 ;nothing End Behavior = CreateObjectDie ModuleTag_11 CreationList = OCL_ABPowerPlantExplode End Behavior = CreateObjectDie ModuleTag_12 CreationList = Lazr_OCL_AmericanRangerDebris02 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_13 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_14 ; nothing End Behavior = FlammableUpdate ModuleTag_16 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_17 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = BOX GeometryMajorRadius = 22.0 GeometryMinorRadius = 30.0 GeometryHeight = 46.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Lazr_AmericaParticleCannonUplink ; *** ART Parameters *** SelectPortrait = SAUplink_L ButtonImage = SAUplink Draw = W3DModelDraw ModuleTag_01 ExtraPublicBone = FX01 ExtraPublicBone = FX02 ExtraPublicBone = FX03 ExtraPublicBone = FX04 ExtraPublicBone = FX05 OkToChangeModelColor = Yes ; day ************************************** ConditionState = NONE Model = ABSDILink Animation = ABSDILink.ABSDILink AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED Model = ABSDILink_D Animation = ABSDILink_D.ABSDILink_D AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE Model = ABSDILink_E Animation = ABSDILink_E.ABSDILink_E AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; night ************************************* ConditionState = NIGHT Model = ABSDILink_N Animation = ABSDILink_N.ABSDILink_N AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED NIGHT Model = ABSDILink_DN Animation = ABSDILink_DN.ABSDILink_DN AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABSDILink_EN Animation = ABSDILink_EN.ABSDILink_EN AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; day snow ************************************** ConditionState = SNOW Model = ABSDILink_S Animation = ABSDILink_S.ABSDILink_S AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED SNOW Model = ABSDILink_DS Animation = ABSDILink_DS.ABSDILink_DS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABSDILink_ES Animation = ABSDILink_ES.ABSDILink_ES AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; night snow ************************************* ConditionState = NIGHT SNOW Model = ABSDILink_NS Animation = ABSDILink_NS.ABSDILink_NS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED NIGHT SNOW Model = ABSDILink_DNS Animation = ABSDILink_DNS.ABSDILink_DNS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABSDILink_ENS Animation = ABSDILink_ENS.ABSDILink_ENS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink Animation = ABSDILink.ABSDILink AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABSDILink_D Animation = ABSDILink_D.ABSDILink_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABSDILink_E Animation = ABSDILink_E.ABSDILink_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABSDILink_N Animation = ABSDILink_N.ABSDILink_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABSDILink_DN Animation = ABSDILink_DN.ABSDILink_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABSDILink_EN Animation = ABSDILink_EN.ABSDILink_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABSDILink_S Animation = ABSDILink_S.ABSDILink_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABSDILink_DS Animation = ABSDILink_DS.ABSDILink_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABSDILink_ES Animation = ABSDILink_ES.ABSDILink_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABSDILink_NS Animation = ABSDILink_NS.ABSDILink_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABSDILink_DNS Animation = ABSDILink_DNS.ABSDILink_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABSDILink_ENS Animation = ABSDILink_ENS.ABSDILink_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ;------------ the cannon section (hatch, dish animations) ----------- Draw = W3DModelDraw ModuleTag_02 ExtraPublicBone = FXConnector ExtraPublicBone = FXMain OkToChangeModelColor = Yes ; day ************************************** ConditionState = NONE Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW ConditionState = DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = AWAITING_CONSTRUCTION Model = None End AliasConditionState = NIGHT AWAITING_CONSTRUCTION AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION AliasConditionState = SNOW AWAITING_CONSTRUCTION ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A1 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABSDILink_A1D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE ;Preparing to fire! ConditionState = UNPACKING Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End AliasConditionState = NIGHT UNPACKING AliasConditionState = NIGHT SNOW UNPACKING AliasConditionState = SNOW UNPACKING ConditionState = UNPACKING DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End AliasConditionState = NIGHT UNPACKING DAMAGED AliasConditionState = NIGHT SNOW UNPACKING DAMAGED AliasConditionState = SNOW UNPACKING DAMAGED ConditionState = UNPACKING REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End AliasConditionState = NIGHT UNPACKING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW UNPACKING REALLYDAMAGED RUBBLE AliasConditionState = SNOW UNPACKING REALLYDAMAGED RUBBLE ;Ready to fire -- or firing! ConditionState = DEPLOYED Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DEPLOYED AliasConditionState = NIGHT SNOW DEPLOYED AliasConditionState = SNOW DEPLOYED ConditionState = DEPLOYED DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DEPLOYED DAMAGED AliasConditionState = NIGHT SNOW DEPLOYED DAMAGED AliasConditionState = SNOW DEPLOYED DAMAGED ConditionState = DEPLOYED REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DEPLOYED REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DEPLOYED REALLYDAMAGED RUBBLE AliasConditionState = SNOW DEPLOYED REALLYDAMAGED RUBBLE ;Packing up (recharging for new attack) ConditionState = PACKING Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES3 End AliasConditionState = NIGHT PACKING AliasConditionState = NIGHT SNOW PACKING AliasConditionState = SNOW PACKING ConditionState = PACKING DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES3 End AliasConditionState = NIGHT PACKING DAMAGED AliasConditionState = NIGHT SNOW PACKING DAMAGED AliasConditionState = SNOW PACKING DAMAGED ConditionState = PACKING REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES3 End AliasConditionState = NIGHT PACKING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW PACKING REALLYDAMAGED RUBBLE AliasConditionState = SNOW PACKING REALLYDAMAGED RUBBLE ConditionState = SOLD DEPLOYED Model = NONE End ConditionState = SOLD SNOW DEPLOYED Model = NONE End ConditionState = SOLD NIGHT DEPLOYED Model = NONE End ConditionState = SOLD NIGHT SNOW DEPLOYED Model = NONE End End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4 Animation = ABSDILink_A4.ABSDILink_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4N Animation = ABSDILink_A4N.ABSDILink_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4S Animation = ABSDILink_A4S.ABSDILink_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4SN Animation = ABSDILink_A4SN.ABSDILink_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSDILink_A4 Animation = ABSDILink_A4.ABSDILink_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSDILink_A4N Animation = ABSDILink_A4N.ABSDILink_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSDILink_A4S Animation = ABSDILink_A4S.ABSDILink_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSDILink_A4SN Animation = ABSDILink_A4SN.ABSDILink_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSDILink_A4 Animation = ABSDILink_A4.ABSDILink_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSDILink_A4N Animation = ABSDILink_A4N.ABSDILink_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSDILink_A4S Animation = ABSDILink_A4S.ABSDILink_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSDILink_A4SN Animation = ABSDILink_A4SN.ABSDILink_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABSDILink_A6 Animation = ABSDILink_A6.ABSDILink_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABSDILink_A6N Animation = ABSDILink_A6N.ABSDILink_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABSDILink_A6S Animation = ABSDILink_A6S.ABSDILink_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABSDILink_A6SN Animation = ABSDILink_A6SN.ABSDILink_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSDILink_A6 Animation = ABSDILink_A6.ABSDILink_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSDILink_A6N Animation = ABSDILink_A6N.ABSDILink_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSDILink_A6S Animation = ABSDILink_A6S.ABSDILink_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSDILink_A6SN Animation = ABSDILink_A6SN.ABSDILink_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSDILink_A6 Animation = ABSDILink_A6.ABSDILink_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSDILink_A6N Animation = ABSDILink_A6N.ABSDILink_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSDILink_A6S Animation = ABSDILink_A6S.ABSDILink_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSDILink_A6SN Animation = ABSDILink_A6SN.ABSDILink_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5 Animation = ABSDILink_A5.ABSDILink_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5N Animation = ABSDILink_A5N.ABSDILink_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5S Animation = ABSDILink_A5S.ABSDILink_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5SN Animation = ABSDILink_A5SN.ABSDILink_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSDILink_AB Animation = ABSDILink_AB.ABSDILink_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSDILink_ABN Animation = ABSDILink_ABN.ABSDILink_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSDILink_ABS Animation = ABSDILink_ABS.ABSDILink_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSDILink_ABSN Animation = ABSDILink_ABSN.ABSDILink_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSDILink_AB Animation = ABSDILink_AB.ABSDILink_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSDILink_ABN Animation = ABSDILink_ABN.ABSDILink_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSDILink_ABS Animation = ABSDILink_ABS.ABSDILink_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSDILink_ABSN Animation = ABSDILink_ABSN.ABSDILink_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:ParticleCannon Side = AmericaLaserGeneral EditorSorting = STRUCTURE Prerequisites Object = Lazr_AmericaStrategyCenter End BuildCost = 5000 BuildTime = 60.0 ; in seconds EnergyProduction = -10 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ShroudRevealToAllRange = 60 ; Reveals shroud to all players at a specific amount which can be different. ; Using same value? Then use KINDOF_REVEAL_TO_ALL instead! ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End CommandSet = Lazr_AmericaParticleUplinkCannonCommandSet ExperienceValue = 400 400 400 400 ; Experience point value at each level MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games MaxSimultaneousLinkKey = Superweapon ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType ; *** AUDIO Parameters *** VoiceSelect = ParticleCannonSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY POWERED MP_COUNT_FOR_VICTORY FS_SUPERWEAPON Body = StructureBody ModuleTag_06 MaxHealth = 4000.0 InitialHealth = 4000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 4200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = BaseRegenerateUpdate ModuleTag_07 ;No data End Behavior = SpecialPowerCreate ModuleTag_16 ;nothing End Behavior = SpecialAbility ModuleTag_11 SpecialPowerTemplate = SuperweaponParticleUplinkCannon UpdateModuleStartsAttack = Yes End Behavior = ParticleUplinkCannonUpdate ModuleTag_12 SpecialPowerTemplate = SuperweaponParticleUplinkCannon ;The values trigger the various pre-stages before being ready to actually fire. ;The total combined value of these determines the first sign of activity in the ;cannon. BeginChargeTime = 5000 ;The outer nodes begin to charge. RaiseAntennaTime = 4667 ;The hatch opens and raises antenna (matches animation speed) ReadyDelayTime = 2000 ;The time after antenna is raised prior to being ready to fire. ;***NOTE -- these values effect gameplay***** TotalFiringTime = 10000 ;The total ground contact time of the beam DamagePerSecond = 400 ;Amount of damage inflicted per second TotalDamagePulses = 40 ;The total number of damage pulses -- less means more damage per pulse, but less accurate WidthGrowTime = 2000 ;The amount of time it takes for the beam to reach full diameter (same value used for shrinking) BeamTravelTime = 2500 ;How long it takes for the beam to hit the ground after leaving the firing dish. DamageType = PARTICLE_BEAM ;Type of damage inflicted. DamageRadiusScalar = 3.4 ;Multiplies the radius (relative to beam diameter) so that things close to the beam can get hit too! RevealRange = 50.0 ;Grants gratuitous vision for the player launching the target as the beam cuts it's swath of death. ;******************************************** ;Bone names for required elements OuterEffectBoneName = FX ;The base name for the outer node bones. OuterEffectNumBones = 5 ;The number of outer nodes. ConnectorBoneName = FXConnector ;The name of the bone where the connector lasers meet. FireBoneName = FXMain ;The name of the bone where the main beam is fired from. ;These are particle systems tied to the outer nodes in varying intensities. OuterNodesLightFlareParticleSystem = ParticleUplinkCannon_OuterNodeLightFlare OuterNodesMediumFlareParticleSystem = ParticleUplinkCannon_OuterNodeMediumFlare OuterNodesIntenseFlareParticleSystem = ParticleUplinkCannon_OuterNodeIntenseFlare ;The connectors system connects each of the outer nodes to the central node that receives ;the lasers from outside. ConnectorMediumLaserName = ParticleUplinkCannon_MediumConnectorLaser ConnectorIntenseLaserName = ParticleUplinkCannon_IntenseConnectorLaser ;Currently commented out -- These ;ConnectorMediumFlare = ParticleUplinkCannon_InnerConnectorMediumFlare ;ConnectorIntenseFlare = ParticleUplinkCannon_InnerConnectorIntenseFlare ;This is the name of the bone on the building where the beam is fired from LaserBaseLightFlareParticleSystemName = ParticleUplinkCannon_LaserBaseReadyToFire ParticleBeamLaserName = ParticleUplinkCannon_OrbitalLaser GroundHitFX = FX_ParticleUplinkCannon_BeamHitsGround ;TotalScorchMarks determines how many times this gets called. ;The flare fxlist that is played over and over during the beam firing process. Be ;mindful of the delay because that effects both art and sound. BeamLaunchFX = FX_ParticleUplinkCannon_BeamLaunchIteration DelayBetweenLaunchFX = 1000 ;Each scorch mark creates an object in the world, so while making more looks better ;it becomes a performance issue. The scalar will calculate the size of the scorch ;mark to make based on the current size of the beam (which changes dynamically). The ;number also matches the number of times the "GroundHitFX" is called. TotalScorchMarks = 20 ScorchMarkScalar = 2.4 ;***NOTE -- these values effect gameplay*** ;The swath of death is the path the laser tracers centered on the targeted position. ;If the amplitude is zero, the line will go straight, with a higher value, it'll do ;a sine wave iteration, but always goes through the target point. SwathOfDeathDistance = 200.0 SwathOfDeathAmplitude = 50.0 ManualDrivingSpeed = 20 ManualFastDrivingSpeed = 40 DoubleClickToFastDriveDelay = 500 ;***SOUNDS!**** PoweringUpSoundLoop = ParticleUplinkCannon_PowerupSoundLoop UnpackToIdleSoundLoop = ParticleUplinkCannon_UnpackToIdleSoundLoop FiringToPackSoundLoop = ParticleUplinkCannon_FiringToPackSoundLoop GroundAnnihilationSoundLoop = ParticleUplinkCannon_GroundAnnihilationSoundLoop ;The trail left behind creates an object that inflicts extra damage for a short period of time. DamagePulseRemnantObjectName = ParticleUplinkCannonTrailRemnant End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = ProductionUpdate ModuleTag_15 ; This is needed in order to get a public timer to work! End Behavior = TransitionDamageFX ModuleTag_17 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = SlowDeathBehavior ModuleTag_18 ; don't run this death if we are under construction... ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 2000 FX = INITIAL FX_ParticleUplinkDeathInitial OCL = INITIAL OCL_SDILinkLasers FX = FINAL FX_StructureMediumDeath OCL = FINAL OCL_ParticleUplinkDeathFinal End Behavior = InstantDeathBehavior ModuleTag_19 ; if we are under construction, use this death instead RequiredStatus = UNDER_CONSTRUCTION OCL = OCL_ABPowerPlantExplode FX = FX_StructureMediumDeath End Geometry = BOX GeometryMajorRadius = 64.0 GeometryMinorRadius = 38.0 GeometryHeight = 38.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Lazr_AmericaStrategyCenter ; *** ART Parameters *** SelectPortrait = SAStrategyCenter_L ButtonImage = SAStrategyCenter Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day *************************************************** ConditionState = NONE Model = ABStrategy Animation = ABStrategy.ABStrategy AnimationMode = LOOP End ConditionState = DAMAGED Model = ABStrategy_D Animation = ABStrategy_D.ABStrategy_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = ABStrategy_E Animation = ABStrategy_E.ABStrategy_E AnimationMode = LOOP End ; SNOW *************************************************** ConditionState = SNOW Model = ABStrategy_S Animation = ABStrategy_S.ABStrategy_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABStrategy_DS Animation = ABStrategy_DS.ABStrategy_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABStrategy_ES Animation = ABStrategy_ES.ABStrategy_ES AnimationMode = LOOP End ; night ************************************************** ConditionState = NIGHT Model = ABStrategy_N Animation = ABStrategy_N.ABStrategy_N AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End ConditionState = NIGHT DAMAGED Model = ABStrategy_DN Animation = ABStrategy_DN.ABStrategy_DN AnimationMode = LOOP End ConditionState = NIGHT REALLYDAMAGED RUBBLE Model = ABStrategy_EN Animation = ABStrategy_EN.ABStrategy_EN AnimationMode = LOOP End ; night Snow************************************************** ConditionState = NIGHT SNOW Model = ABStrategy_NS Animation = ABStrategy_NS.ABStrategy_NS AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End ConditionState = NIGHT DAMAGED SNOW Model = ABStrategy_DNS Animation = ABStrategy_DNS.ABStrategy_DNS AnimationMode = LOOP End ConditionState = NIGHT REALLYDAMAGED RUBBLE SNOW Model = ABStrategy_ENS Animation = ABStrategy_ENS.ABStrategy_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy Animation = ABStrategy.ABStrategy AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABStrategy_D Animation = ABStrategy_D.ABStrategy_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABStrategy_E Animation = ABStrategy_E.ABStrategy_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABStrategy_N Animation = ABStrategy_N.ABStrategy_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABStrategy_DN Animation = ABStrategy_DN.ABStrategy_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABStrategy_EN Animation = ABStrategy_EN.ABStrategy_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABStrategy_S Animation = ABStrategy_S.ABStrategy_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABStrategy_DS Animation = ABStrategy_DS.ABStrategy_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABStrategy_ES Animation = ABStrategy_ES.ABStrategy_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABStrategy_NS Animation = ABStrategy_NS.ABStrategy_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABStrategy_DNS Animation = ABStrategy_DNS.ABStrategy_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABStrategy_ENS Animation = ABStrategy_ENS.ABStrategy_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No OkToChangeModelColor = Yes DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A4 Animation = ABStrategy_A4.ABStrategy_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SparksS01 LiveWireSparks02 ParticleSysBone = SmokeS01 SmokeBuildingSmall End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A4N Animation = ABStrategy_A4N.ABStrategy_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SparksS01 LiveWireSparks02 ParticleSysBone = SmokeS01 SmokeBuildingSmall End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A4S Animation = ABStrategy_A4S.ABStrategy_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SparksS01 LiveWireSparks02 ParticleSysBone = SmokeS01 SmokeBuildingSmall End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A4SN Animation = ABStrategy_A4SN.ABStrategy_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SparksS01 LiveWireSparks02 ParticleSysBone = SmokeS01 SmokeBuildingSmall End TransitionState = DOWN_DEFAULT UP_DAY Model = ABStrategy_A4 Animation = ABStrategy_A4.ABStrategy_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABStrategy_A4N Animation = ABStrategy_A4N.ABStrategy_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABStrategy_A4S Animation = ABStrategy_A4S.ABStrategy_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABStrategy_A4SN Animation = ABStrategy_A4SN.ABStrategy_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABStrategy_A4 Animation = ABStrategy_A4.ABStrategy_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABStrategy_A4N Animation = ABStrategy_A4N.ABStrategy_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABStrategy_A4S Animation = ABStrategy_A4S.ABStrategy_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABStrategy_A4SN Animation = ABStrategy_A4SN.ABStrategy_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM OkToChangeModelColor = Yes DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABStrategy_A6 Animation = ABStrategy_A6.ABStrategy_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABStrategy_A6N Animation = ABStrategy_A6N.ABStrategy_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABStrategy_A6S Animation = ABStrategy_A6S.ABStrategy_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABStrategy_A6SN Animation = ABStrategy_A6SN.ABStrategy_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABStrategy_A6 Animation = ABStrategy_A6.ABStrategy_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABStrategy_A6N Animation = ABStrategy_A6N.ABStrategy_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABStrategy_A6S Animation = ABStrategy_A6S.ABStrategy_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABStrategy_A6SN Animation = ABStrategy_A6SN.ABStrategy_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABStrategy_A6 Animation = ABStrategy_A6.ABStrategy_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABStrategy_A6N Animation = ABStrategy_A6N.ABStrategy_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABStrategy_A6S Animation = ABStrategy_A6S.ABStrategy_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABStrategy_A6SN Animation = ABStrategy_A6SN.ABStrategy_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A5 Animation = ABStrategy_A5.ABStrategy_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A5N Animation = ABStrategy_A5N.ABStrategy_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A5S Animation = ABStrategy_A5S.ABStrategy_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A5SN Animation = ABStrategy_A5SN.ABStrategy_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABStrategy_AB Animation = ABStrategy_AB.ABStrategy_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABStrategy_ABN Animation = ABStrategy_ABN.ABStrategy_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABStrategy_ABS Animation = ABStrategy_ABS.ABStrategy_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABStrategy_ABSN Animation = ABStrategy_ABSN.ABStrategy_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABStrategy_AB Animation = ABStrategy_AB.ABStrategy_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABStrategy_ABN Animation = ABStrategy_ABN.ABStrategy_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABStrategy_ABS Animation = ABStrategy_ABS.ABStrategy_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABStrategy_ABSN Animation = ABStrategy_ABSN.ABStrategy_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ BOMBARDMENT BATTLE PLAN ----------------- Draw = W3DModelDraw ModuleTag_05 OkToChangeModelColor = Yes DefaultConditionState Model = ABStrategy_A1 Animation = ABStrategy_A1.ABStrategy_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = ABStrategy_A1 Animation = ABStrategy_A1.ABStrategy_A1 AnimationMode = ONCE End AliasConditionState = DAMAGED DOOR_1_OPENING AliasConditionState = REALLYDAMAGED DOOR_1_OPENING AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = NIGHT SNOW DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = NIGHT DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_OPENING AliasConditionState = SNOW DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING ConditionState = DOOR_1_CLOSING Model = ABStrategy_A1 Animation = ABStrategy_A1.ABStrategy_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = DAMAGED DOOR_1_CLOSING AliasConditionState = REALLYDAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING ConditionState = DOOR_1_WAITING_TO_CLOSE Model = NONE End AliasConditionState = DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A1 Animation = ABStrategy_A1.ABStrategy_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE ;************************************************************************************************************************** End Draw = W3DModelDraw ModuleTag_06 ;***This is the bombardment cannon object that only shows up when ready to fire*** OkToChangeModelColor = Yes DefaultConditionState Model = ABStrategy_A8 WeaponLaunchBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponRecoilBone = PRIMARY Barrel Turret = Turret01 TurretPitch = TurretEL HideSubObject = Chassis End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_TO_CLOSE Model = ABStrategy_A8 ShowSubObject = Chassis End AliasConditionState = DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABStrategy_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = ABStrategy_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE End ; ------------ HOLD THE LINE BATTLE PLAN ----------------- Draw = W3DModelDraw ModuleTag_07 OkToChangeModelColor = Yes DefaultConditionState Model = ABStrategy_A7 Animation = ABStrategy_A7.ABStrategy_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_2_OPENING Model = ABStrategy_A7 Animation = ABStrategy_A7.ABStrategy_A7 AnimationMode = ONCE End AliasConditionState = DAMAGED DOOR_2_OPENING AliasConditionState = REALLYDAMAGED DOOR_2_OPENING AliasConditionState = NIGHT DOOR_2_OPENING AliasConditionState = NIGHT SNOW DOOR_2_OPENING AliasConditionState = SNOW DOOR_2_OPENING AliasConditionState = NIGHT DAMAGED DOOR_2_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_OPENING AliasConditionState = SNOW DAMAGED DOOR_2_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING ConditionState = DOOR_2_CLOSING Model = ABStrategy_A7 Animation = ABStrategy_A7.ABStrategy_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = DAMAGED DOOR_2_CLOSING AliasConditionState = REALLYDAMAGED DOOR_2_CLOSING AliasConditionState = NIGHT DOOR_2_CLOSING AliasConditionState = NIGHT SNOW DOOR_2_CLOSING AliasConditionState = SNOW DOOR_2_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_2_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_CLOSING AliasConditionState = SNOW DAMAGED DOOR_2_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING ConditionState = DOOR_2_WAITING_TO_CLOSE Model = ABStrategy_A7 Animation = ABStrategy_A7.ABStrategy_A7 AnimationMode = ONCE Flags = START_FRAME_LAST End AliasConditionState = DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DOOR_2_WAITING_TO_CLOSE AliasConditionState = SNOW DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_TO_CLOSE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_TO_CLOSE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE ;************************************************************************************************************************** End ; ------------ SEARCH AND DESTROY BATTLE PLAN ----------------- Draw = W3DModelDraw ModuleTag_08 OkToChangeModelColor = Yes DefaultConditionState Model = ABStrategy_A2 Animation = ABStrategy_A2.ABStrategy_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_3_OPENING Model = ABStrategy_A2 Animation = ABStrategy_A2.ABStrategy_A2 AnimationMode = ONCE End AliasConditionState = DAMAGED DOOR_3_OPENING AliasConditionState = REALLYDAMAGED DOOR_3_OPENING AliasConditionState = NIGHT DOOR_3_OPENING AliasConditionState = NIGHT SNOW DOOR_3_OPENING AliasConditionState = SNOW DOOR_3_OPENING AliasConditionState = NIGHT DAMAGED DOOR_3_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_OPENING AliasConditionState = SNOW DAMAGED DOOR_3_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING ConditionState = DOOR_3_CLOSING Model = ABStrategy_A2 Animation = ABStrategy_A2.ABStrategy_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = DAMAGED DOOR_3_CLOSING AliasConditionState = REALLYDAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT DOOR_3_CLOSING AliasConditionState = NIGHT SNOW DOOR_3_CLOSING AliasConditionState = SNOW DOOR_3_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_CLOSING AliasConditionState = SNOW DAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING ConditionState = DOOR_3_WAITING_TO_CLOSE Model = NONE End AliasConditionState = DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A2 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE ;************************************************************************************************************************** End Draw = W3DModelDraw ModuleTag_09 ;***This is the radar array that only shows up when plan is active*** OkToChangeModelColor = Yes DefaultConditionState Model = NONE End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_3_WAITING_TO_CLOSE Model = ABStrategy_A3 Animation = ABStrategy_A3.ABStrategy_A3 AnimationMode = LOOP End AliasConditionState = DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:StrategyCenter Side = AmericaLaserGeneral EditorSorting = STRUCTURE Prerequisites Object = Lazr_AmericaWarFactory Lazr_AmericaAirfield End CommandSet = Lazr_AmericaStrategyCenterCommandSet BuildCost = 2500 BuildTime = 60.0 ; in seconds EnergyProduction = -2 VisionRange = 400.0 ; Shroud clearing distance MaxSimultaneousOfType = 1 ShroudClearingRange = 400 WeaponSet Conditions = None Weapon = PRIMARY StrategyCenterGun AutoChooseSources = PRIMARY NONE End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 250 250 250 250 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = StrategyCenterSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = NoSound ;These aren't playing properly, will revisit. (mp) StrategyCenter_TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY FS_STRATEGY_CENTER FS_ADVANCED_TECH Body = StructureBody ModuleTag_10 MaxHealth = 1500.0 InitialHealth = 1500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1700 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ProductionUpdate ModuleTag_11 ; nothing End Behavior = BaseRegenerateUpdate ModuleTag_12 ;No data End Behavior = SpecialAbility ModuleTag_13 SpecialPowerTemplate = SpecialAbilityChangeBattlePlans UpdateModuleStartsAttack = Yes End Behavior = BattlePlanUpdate ModuleTag_14 SpecialPowerTemplate = SpecialAbilityChangeBattlePlans ;Transition Timings BombardmentPlanAnimationTime = 7000 HoldTheLinePlanAnimationTime = 7000 SearchAndDestroyPlanAnimationTime = 7000 TransitionIdleTime = 0 ;Messages BombardmentMessageLabel = MESSAGE:BattlePlanBombardmentInitiated HoldTheLineMessageLabel = MESSAGE:BattlePlanHoldTheLineInitiated SearchAndDestroyMessageLabel = MESSAGE:BattlePlanSearchAndDestroyInitiated ;Audio hooks BombardmentPlanUnpackSoundName = StrategyCenter_BombardmentPlanUnpackSound BombardmentPlanPackSoundName = StrategyCenter_BombardmentPlanPackSound BombardmentAnnouncementName = StrategyCenter_BombardmentPlanAnnouncement SearchAndDestroyPlanUnpackSoundName = StrategyCenter_SearchAndDestroyPlanUnpack SearchAndDestroyPlanIdleLoopSoundName = StrategyCenter_SearchAndDestroyPlanIdleLoop SearchAndDestroyPlanPackSoundName = StrategyCenter_SearchAndDestroyPlanPack SearchAndDestroyAnnouncementName = StrategyCenter_SearchAndDestroyAnnouncement HoldTheLinePlanUnpackSoundName = StrategyCenter_HoldTheLinePlanUnpack HoldTheLinePlanPackSoundName = StrategyCenter_HoldTheLinePlanPack HoldTheLineAnnouncementName = StrategyCenter_HoldTheLineAnnouncement ;Army bonuses granted by different battle plans ValidMemberKindOf = INFANTRY CAN_ATTACK VEHICLE ;Battle plans affect any kind of these... InvalidMemberKindOf = DOZER STRUCTURE AIRCRAFT DRONE ;...but make sure they don't have any of these BattlePlanChangeParalyzeTime = 5000 ;Subjected to paralyzation whenever a battle plan is changed. HoldTheLinePlanArmorDamageScalar = 0.9 ;Armor damage bonus scalar -- LESS is better! SearchAndDestroyPlanSightRangeScalar = 1.2 ;Sight range bonus -- more is better! ;***NOTE*** WEAPON bonuses for army are specified in GameData.ini file! ;Building bonuses granted based on battle plan mode. StrategyCenterSearchAndDestroySightRangeScalar = 2.0 StrategyCenterSearchAndDestroyDetectsStealth = Yes StrategyCenterHoldTheLineMaxHealthScalar = 2.0 StrategyCenterHoldTheLineMaxHealthChangeType = PRESERVE_RATIO ;Revealing info ;VisionObjectName = VisionObject End Behavior = AIUpdateInterface ModuleTag_15 Turret ControlledWeaponSlots = PRIMARY TurretTurnRate = 60 // turn rate, in degrees per sec TurretPitchRate = 60 AllowsPitch = Yes FiresWhileTurning = Yes NaturalTurretPitch = 45 ; this keeps it aimed half way between land and sky ; since you never know from whence cometh danger NaturalTurretAngle = -90 ; this turret points backwards normally FirePitch = 45 ; Instead of aiming pitchwise at the target, it will aim here MinIdleScanInterval = 500 ; in milliseconds MaxIdleScanInterval = 1000 ; in milliseconds MinIdleScanAngle = 0 ; in degrees off the natural turret angle MaxIdleScanAngle = 60 ; in degrees off the natural turret angle End AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS End Behavior = StealthDetectorUpdate ModuleTag_16 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) InitiallyDisabled = Yes ; only will be active when search & destroy plan active. DetectionRange = 500 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = SpyVisionSpecialPower SpyTag_1 SpecialPowerTemplate = SuperweaponCIAIntelligence BaseDuration = 30000 ;in milliseconds BonusDurationPerCaptured = 10000 ;in milliseconds MaxDuration = 240000 ;in milliseconds End Behavior = SpyVisionUpdate SpyTag_2 ; End Behavior = DestroyDie ModuleTag_17 ;nothing End Behavior = CreateObjectDie ModuleTag_18 CreationList = OCL_ABPowerPlantExplode End Behavior = CreateObjectDie ModuleTag_19 CreationList = Lazr_OCL_AmericanRangerDebris04 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_20 DeathFX = FX_StructureMediumDeath End Behavior = FlammableUpdate ModuleTag_22 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_23 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 62.0 GeometryMinorRadius = 44.0 GeometryHeight = 24.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Lazr_AmericaAirfield ; *** ART Parameters *** SelectPortrait = SAACommand_L ButtonImage = SAACommand Draw = W3DModelDraw ModuleTag_01 ExtraPublicBone = Runway1Parking1 ExtraPublicBone = Runway1Parking2 ExtraPublicBone = Runway2Parking1 ExtraPublicBone = Runway2Parking2 ExtraPublicBone = Runway1Park1Han ExtraPublicBone = Runway1Park2Han ExtraPublicBone = Runway2Park1Han ExtraPublicBone = Runway2Park2Han ExtraPublicBone = Runway1Prep1 ExtraPublicBone = Runway1Prep2 ExtraPublicBone = Runway2Prep1 ExtraPublicBone = Runway2Prep2 ExtraPublicBone = RunwayStart1 ExtraPublicBone = RunwayStart2 ExtraPublicBone = RunwayEnd1 ExtraPublicBone = RunwayEnd2 ExtraPublicBone = HeliPark01 OkToChangeModelColor = Yes ; day ******************************************** DefaultConditionState Model = ABArFrcCmd Animation = ABArFrcCmd.ABArFrcCmd AnimationMode = LOOP End ConditionState = DAMAGED Model = ABArFrcCmd_D Animation = ABArFrcCmd_D.ABArFrcCmd_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = ABArFrcCmd_E Animation = ABArFrcCmd_E.ABArFrcCmd_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmokeFactionLarge ParticleSysBone = Smoke06 SmokeFactionLarge ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 FireFactionLarge ParticleSysBone = Spark01 SparksLarge End ConditionState = SNOW Model = ABArFrcCmd_S Animation = ABArFrcCmd_S.ABArFrcCmd_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABArFrcCmd_DS Animation = ABArFrcCmd_DS.ABArFrcCmd_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABArFrcCmd_ES Animation = ABArFrcCmd_ES.ABArFrcCmd_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmokeFactionLarge ParticleSysBone = Smoke06 SmokeFactionLarge ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 FireFactionLarge ParticleSysBone = Spark01 SparksLarge End ; night ****************************************** ConditionState = NIGHT Model = ABArFrcCmd_N Animation = ABArFrcCmd_N.ABArFrcCmd_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = ABArFrcCmd_ND Animation = ABArFrcCmd_ND.ABArFrcCmd_ND AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABArFrcCmd_NE Animation = ABArFrcCmd_NE.ABArFrcCmd_NE AnimationMode = LOOP End ConditionState = NIGHT SNOW Model = ABArFrcCmd_NS Animation = ABArFrcCmd_NS.ABArFrcCmd_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = ABArFrcCmd_NDS Animation = ABArFrcCmd_NDS.ABArFrcCmd_NDS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABArFrcCmd_NES Animation = ABArFrcCmd_NES.ABArFrcCmd_NES AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd Animation = ABArFrcCmd.ABArFrcCmd AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABArFrcCmd_D Animation = ABArFrcCmd_D.ABArFrcCmd_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABArFrcCmd_E Animation = ABArFrcCmd_E.ABArFrcCmd_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABArFrcCmd_N Animation = ABArFrcCmd_N.ABArFrcCmd_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABArFrcCmd_ND Animation = ABArFrcCmd_ND.ABArFrcCmd_ND AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABArFrcCmd_NE Animation = ABArFrcCmd_NE.ABArFrcCmd_NE AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABArFrcCmd_S Animation = ABArFrcCmd_S.ABArFrcCmd_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABArFrcCmd_DS Animation = ABArFrcCmd_DS.ABArFrcCmd_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABArFrcCmd_ES Animation = ABArFrcCmd_ES.ABArFrcCmd_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABArFrcCmd_NS Animation = ABArFrcCmd_NS.ABArFrcCmd_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABArFrcCmd_NDS Animation = ABArFrcCmd_NDS.ABArFrcCmd_NDS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABArFrcCmd_NES Animation = ABArFrcCmd_NES.ABArFrcCmd_NES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ blinky production lights ----------------- Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = None End ConditionState = ACTIVELY_CONSTRUCTING Model = ABArFrcCmd_A9 Animation = ABArFrcCmd_A9.ABArFrcCmd_A9 AnimationMode = LOOP End End ; ----------------- door #1 ------------------- Draw = W3DModelDraw ModuleTag_03 ConditionState = NONE Model = ABArFrcCmd_A7 Animation = ABArFrcCmd_A7.ABArFrcCmd_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = ABArFrcCmd_A7 Animation = ABArFrcCmd_A7.ABArFrcCmd_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = NIGHT SNOW DOOR_1_OPENING AliasConditionState = NIGHT DAMAGED DOOR_1_OPENING AliasConditionState = SNOW DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING ConditionState = DOOR_1_CLOSING Model = ABArFrcCmd_A7 Animation = ABArFrcCmd_A7.ABArFrcCmd_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DOOR_1_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_1_CLOSING AliasConditionState = SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING ConditionState = DOOR_1_WAITING_OPEN Model = ABArFrcCmd_A7 Animation = ABArFrcCmd_A7.ABArFrcCmd_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABArFrcCmd_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABArFrcCmd_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- door #2 ------------------- Draw = W3DModelDraw ModuleTag_04 DefaultConditionState Model = ABArFrcCmd_A8 Animation = ABArFrcCmd_A8.ABArFrcCmd_A8 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_2_OPENING Model = ABArFrcCmd_A8 Animation = ABArFrcCmd_A8.ABArFrcCmd_A8 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_2_OPENING AliasConditionState = SNOW DOOR_2_OPENING AliasConditionState = NIGHT SNOW DOOR_2_OPENING AliasConditionState = NIGHT DAMAGED DOOR_2_OPENING AliasConditionState = SNOW DAMAGED DOOR_2_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING ConditionState = DOOR_2_CLOSING Model = ABArFrcCmd_A8 Animation = ABArFrcCmd_A8.ABArFrcCmd_A8 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_2_CLOSING AliasConditionState = SNOW DOOR_2_CLOSING AliasConditionState = NIGHT SNOW DOOR_2_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_2_CLOSING AliasConditionState = SNOW DAMAGED DOOR_2_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING ConditionState = DOOR_2_WAITING_OPEN Model = ABArFrcCmd_A8 Animation = ABArFrcCmd_A8.ABArFrcCmd_A8 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_2_WAITING_OPEN AliasConditionState = SNOW DOOR_2_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_2_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_2_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_2_WAITING_OPEN AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_OPEN AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABArFrcCmd_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABArFrcCmd_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- door #3 ------------------- Draw = W3DModelDraw ModuleTag_05 DefaultConditionState Model = ABArFrcCmd_A2 Animation = ABArFrcCmd_A2.ABArFrcCmd_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_3_OPENING Model = ABArFrcCmd_A2 Animation = ABArFrcCmd_A2.ABArFrcCmd_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_3_OPENING AliasConditionState = SNOW DOOR_3_OPENING AliasConditionState = NIGHT SNOW DOOR_3_OPENING AliasConditionState = NIGHT DAMAGED DOOR_3_OPENING AliasConditionState = SNOW DAMAGED DOOR_3_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING ConditionState = DOOR_3_CLOSING Model = ABArFrcCmd_A2 Animation = ABArFrcCmd_A2.ABArFrcCmd_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_3_CLOSING AliasConditionState = SNOW DOOR_3_CLOSING AliasConditionState = NIGHT SNOW DOOR_3_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_3_CLOSING AliasConditionState = SNOW DAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING ConditionState = DOOR_3_WAITING_OPEN Model = ABArFrcCmd_A2 Animation = ABArFrcCmd_A2.ABArFrcCmd_A2 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_3_WAITING_OPEN AliasConditionState = SNOW DOOR_3_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_3_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_3_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_3_WAITING_OPEN AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A2 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABArFrcCmd_A2 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABArFrcCmd_A2 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- door #4 ------------------- Draw = W3DModelDraw ModuleTag_06 DefaultConditionState Model = ABArFrcCmd_A3 Animation = ABArFrcCmd_A3.ABArFrcCmd_A3 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_4_OPENING Model = ABArFrcCmd_A3 Animation = ABArFrcCmd_A3.ABArFrcCmd_A3 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_4_OPENING AliasConditionState = SNOW DOOR_4_OPENING AliasConditionState = NIGHT SNOW DOOR_4_OPENING AliasConditionState = NIGHT DAMAGED DOOR_4_OPENING AliasConditionState = SNOW DAMAGED DOOR_4_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_4_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_4_OPENING ConditionState = DOOR_4_CLOSING Model = ABArFrcCmd_A3 Animation = ABArFrcCmd_A3.ABArFrcCmd_A3 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_4_CLOSING AliasConditionState = SNOW DOOR_4_CLOSING AliasConditionState = NIGHT SNOW DOOR_4_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_4_CLOSING AliasConditionState = SNOW DAMAGED DOOR_4_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_4_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_4_CLOSING ConditionState = DOOR_4_WAITING_OPEN Model = ABArFrcCmd_A3 Animation = ABArFrcCmd_A3.ABArFrcCmd_A3 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_4_WAITING_OPEN AliasConditionState = SNOW DOOR_4_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_4_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_4_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_4_WAITING_OPEN AliasConditionState = NIGHT SNOW DAMAGED DOOR_4_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A3 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABArFrcCmd_A3 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABArFrcCmd_A3 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A4 Animation = ABArFrcCmd_A4.ABArFrcCmd_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A4N Animation = ABArFrcCmd_A4N.ABArFrcCmd_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A4S Animation = ABArFrcCmd_A4S.ABArFrcCmd_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A4SN ; @todo srj -- missing Animation = ABArFrcCmd_A4SN.ABArFrcCmd_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABArFrcCmd_A4 Animation = ABArFrcCmd_A4.ABArFrcCmd_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABArFrcCmd_A4N Animation = ABArFrcCmd_A4N.ABArFrcCmd_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABArFrcCmd_A4S Animation = ABArFrcCmd_A4S.ABArFrcCmd_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABArFrcCmd_A4SN ; @todo srj -- missing Animation = ABArFrcCmd_A4SN.ABArFrcCmd_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABArFrcCmd_A4 Animation = ABArFrcCmd_A4.ABArFrcCmd_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABArFrcCmd_A4N Animation = ABArFrcCmd_A4N.ABArFrcCmd_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABArFrcCmd_A4S Animation = ABArFrcCmd_A4S.ABArFrcCmd_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABArFrcCmd_A4SN ; @todo srj -- missing Animation = ABArFrcCmd_A4SN.ABArFrcCmd_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_08 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABArFrcCmd_A6 Animation = ABArFrcCmd_A6.ABArFrcCmd_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABArFrcCmd_A6N Animation = ABArFrcCmd_A6N.ABArFrcCmd_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABArFrcCmd_A6S Animation = ABArFrcCmd_A6S.ABArFrcCmd_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABArFrcCmd_A6SN ; @todo srj -- missing Animation = ABArFrcCmd_A6SN.ABArFrcCmd_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABArFrcCmd_A6 Animation = ABArFrcCmd_A6.ABArFrcCmd_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABArFrcCmd_A6N Animation = ABArFrcCmd_A6N.ABArFrcCmd_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABArFrcCmd_A6S Animation = ABArFrcCmd_A6S.ABArFrcCmd_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABArFrcCmd_A6SN ; @todo srj -- missing Animation = ABArFrcCmd_A6SN.ABArFrcCmd_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABArFrcCmd_A6 Animation = ABArFrcCmd_A6.ABArFrcCmd_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABArFrcCmd_A6N Animation = ABArFrcCmd_A6N.ABArFrcCmd_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABArFrcCmd_A6S Animation = ABArFrcCmd_A6S.ABArFrcCmd_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABArFrcCmd_A6SN ; @todo srj -- missing Animation = ABArFrcCmd_A6SN.ABArFrcCmd_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_09 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A5 Animation = ABArFrcCmd_A5.ABArFrcCmd_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A5N Animation = ABArFrcCmd_A5N.ABArFrcCmd_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A5S Animation = ABArFrcCmd_A5S.ABArFrcCmd_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A5SN Animation = ABArFrcCmd_A5SN.ABArFrcCmd_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABArFrcCmd_AB Animation = ABArFrcCmd_AB.ABArFrcCmd_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABArFrcCmd_ABN Animation = ABArFrcCmd_ABN.ABArFrcCmd_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABArFrcCmd_ABS ; @todo srj -- not found Animation = ABArFrcCmd_ABS.ABArFrcCmd_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABArFrcCmd_ABSN Animation = ABArFrcCmd_ABSN.ABArFrcCmd_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABArFrcCmd_AB Animation = ABArFrcCmd_AB.ABArFrcCmd_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABArFrcCmd_ABN Animation = ABArFrcCmd_ABN.ABArFrcCmd_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABArFrcCmd_ABS ; @todo srj -- not found Animation = ABArFrcCmd_ABS.ABArFrcCmd_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABArFrcCmd_ABS Animation = ABArFrcCmd_ABS.ABArFrcCmd_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:Airfield Side = AmericaLaserGeneral EditorSorting = STRUCTURE Prerequisites Object = Lazr_AmericaSupplyCenter End BuildCost = 1000 BuildTime = 30.0 ; in seconds EnergyProduction = -1 CommandSet = Lazr_AmericaAirfieldCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 150 150 150 150 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = AirfieldUSASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_AIRFIELD SCORE CAPTURABLE FS_FACTORY MP_COUNT_FOR_VICTORY AUTO_RALLYPOINT Body = StructureBody ModuleTag_10 MaxHealth = 1500.0 InitialHealth = 1500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1700 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ParkingPlaceBehavior ModuleTag_11 HealAmountPerSecond = 10 NumRows = 2 NumCols = 2 HasRunways = Yes ApproachHeight = 50 End Behavior = ProductionUpdate ModuleTag_12 NumDoorAnimations = 4 DoorOpeningTime = 2000 ;in mSeconds DoorWaitOpenTime = 3000 ;in mSeconds DoorCloseTime = 2000 ;in mSeconds ConstructionCompleteDuration = 1000 ;in mSeconds End Behavior = BaseRegenerateUpdate ModuleTag_13 ;No data End Behavior = DestroyDie ModuleTag_14 ;nothing End Behavior = CreateObjectDie ModuleTag_15 CreationList = OCL_ABPowerPlantExplode End Behavior = CreateObjectDie ModuleTag_16 CreationList = Lazr_OCL_AmericanRangerDebris02 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_17 DeathFX = FX_StructureMediumDeath End Behavior = FlammableUpdate ModuleTag_19 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_31 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 112.0 GeometryMinorRadius = 74.0 GeometryHeight = 25.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Lazr_AmericaSupplyCenter ; *** ART Parameters *** SelectPortrait = SASupplyCntr_L ButtonImage = SASupplyCntr UpgradeCameo1 = Upgrade_AmericaSupplyLines Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ************************************** ConditionState = NONE Model = ABSupplyCT Animation = ABSupplyCT.ABSupplyCT AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED Model = ABSupplyCT_D Animation = ABSupplyCT_D.ABSupplyCT_D AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = ABSupplyCT_E Animation = ABSupplyCT_E.ABSupplyCT_E AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ; day Snow ************************************** ConditionState = SNOW Model = ABSupplyCT_S Animation = ABSupplyCT_S.ABSupplyCT_S AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED SNOW Model = ABSupplyCT_DS Animation = ABSupplyCT_DS.ABSupplyCT_DS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABSupplyCT_ES Animation = ABSupplyCT_ES.ABSupplyCT_ES AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ; Night ************************************* ConditionState = NIGHT Model = ABSupplyCT_N Animation = ABSupplyCT_N.ABSupplyCT_N AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED NIGHT Model = ABSupplyCT_DN Animation = ABSupplyCT_DN.ABSupplyCT_DN AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABSupplyCT_EN Animation = ABSupplyCT_EN.ABSupplyCT_EN AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; Night Snow************************************* ConditionState = NIGHT SNOW Model = ABSupplyCT_NS Animation = ABSupplyCT_NS.ABSupplyCT_NS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED NIGHT SNOW Model = ABSupplyCT_DNS Animation = ABSupplyCT_DNS.ABSupplyCT_DNS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABSupplyCT_ENS Animation = ABSupplyCT_ENS.ABSupplyCT_ENS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT Animation = ABSupplyCT.ABSupplyCT AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABSupplyCT_D Animation = ABSupplyCT_D.ABSupplyCT_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABSupplyCT_E Animation = ABSupplyCT_E.ABSupplyCT_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABSupplyCT_N Animation = ABSupplyCT_N.ABSupplyCT_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABSupplyCT_DN Animation = ABSupplyCT_DN.ABSupplyCT_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABSupplyCT_EN Animation = ABSupplyCT_EN.ABSupplyCT_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABSupplyCT_S Animation = ABSupplyCT_S.ABSupplyCT_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABSupplyCT_DS Animation = ABSupplyCT_DS.ABSupplyCT_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABSupplyCT_ES Animation = ABSupplyCT_ES.ABSupplyCT_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABSupplyCT_NS Animation = ABSupplyCT_NS.ABSupplyCT_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABSupplyCT_DNS Animation = ABSupplyCT_DNS.ABSupplyCT_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABSupplyCT_ENS Animation = ABSupplyCT_ENS.ABSupplyCT_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A4 Animation = ABSupplyCT_A4.ABSupplyCT_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A4N Animation = ABSupplyCT_A4N.ABSupplyCT_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A4S Animation = ABSupplyCT_A4S.ABSupplyCT_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A4SN Animation = ABSupplyCT_A4SN.ABSupplyCT_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupplyCT_A4 Animation = ABSupplyCT_A4.ABSupplyCT_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupplyCT_A4N Animation = ABSupplyCT_A4N.ABSupplyCT_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupplyCT_A4S Animation = ABSupplyCT_A4S.ABSupplyCT_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupplyCT_A4SN Animation = ABSupplyCT_A4SN.ABSupplyCT_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupplyCT_A4 Animation = ABSupplyCT_A4.ABSupplyCT_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupplyCT_A4N Animation = ABSupplyCT_A4N.ABSupplyCT_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupplyCT_A4S Animation = ABSupplyCT_A4S.ABSupplyCT_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupplyCT_A4SN Animation = ABSupplyCT_A4SN.ABSupplyCT_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABSupplyCT_A6 Animation = ABSupplyCT_A6.ABSupplyCT_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABSupplyCT_A6N Animation = ABSupplyCT_A6N.ABSupplyCT_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABSupplyCT_A6S Animation = ABSupplyCT_A6S.ABSupplyCT_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABSupplyCT_A6SN Animation = ABSupplyCT_A6SN.ABSupplyCT_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupplyCT_A6 Animation = ABSupplyCT_A6.ABSupplyCT_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupplyCT_A6N Animation = ABSupplyCT_A6N.ABSupplyCT_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupplyCT_A6S Animation = ABSupplyCT_A6S.ABSupplyCT_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupplyCT_A6SN Animation = ABSupplyCT_A6SN.ABSupplyCT_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupplyCT_A6 Animation = ABSupplyCT_A6.ABSupplyCT_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupplyCT_A6N Animation = ABSupplyCT_A6N.ABSupplyCT_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupplyCT_A6S Animation = ABSupplyCT_A6S.ABSupplyCT_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupplyCT_A6SN Animation = ABSupplyCT_A6SN.ABSupplyCT_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A5 Animation = ABSupplyCT_A5.ABSupplyCT_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A5N Animation = ABSupplyCT_A5N.ABSupplyCT_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A5S Animation = ABSupplyCT_A5S.ABSupplyCT_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A5SN Animation = ABSupplyCT_A5SN.ABSupplyCT_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupplyCT_AB Animation = ABSupplyCT_AB.ABSupplyCT_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupplyCT_ABN Animation = ABSupplyCT_ABN.ABSupplyCT_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupplyCT_ABS Animation = ABSupplyCT_ABS.ABSupplyCT_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupplyCT_ABSN Animation = ABSupplyCT_ABSN.ABSupplyCT_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupplyCT_AB Animation = ABSupplyCT_AB.ABSupplyCT_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupplyCT_ABN Animation = ABSupplyCT_ABN.ABSupplyCT_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupplyCT_ABS Animation = ABSupplyCT_ABS.ABSupplyCT_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupplyCT_ABSN Animation = ABSupplyCT_ABSN.ABSupplyCT_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ Grabbing box crane arm ----------------- Draw = W3DModelDraw ModuleTag_19 OkToChangeModelColor = Yes ConditionState = NONE ; sit there Model = ABSupplyCT_A8 Animation = ABSupplyCT_A8.ABSupplyCT_A8 AnimationMode = LOOP Flags = START_FRAME_FIRST ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT WaitForStateToFinishIfPossible = TRANS_Playing End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = DAMAGED AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = REALLYDAMAGED RUBBLE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOCKING_ACTIVE ; play arm box anim once Model = ABSupplyCT_A7 Animation = ABSupplyCT_A7.ABSupplyCT_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST TransitionKey = TRANS_Playing End AliasConditionState = NIGHT DOCKING_ACTIVE AliasConditionState = SNOW DOCKING_ACTIVE AliasConditionState = NIGHT SNOW DOCKING_ACTIVE AliasConditionState = DAMAGED DOCKING_ACTIVE AliasConditionState = NIGHT DAMAGED DOCKING_ACTIVE AliasConditionState = SNOW DAMAGED DOCKING_ACTIVE AliasConditionState = NIGHT SNOW DAMAGED DOCKING_ACTIVE AliasConditionState = REALLYDAMAGED RUBBLE DOCKING_ACTIVE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOCKING_ACTIVE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOCKING_ACTIVE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOCKING_ACTIVE End ; ------------ Spinny Belt ----------------- Draw = W3DModelDraw ModuleTag_SpinnyBelt OkToChangeModelColor = Yes ConditionState = NONE ; sit there Model = ABSupplyCT_A9 Animation = ABSupplyCT_A9.ABSupplyCT_A9 AnimationMode = LOOP End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = DAMAGED AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = REALLYDAMAGED RUBBLE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A9 Animation = ABSupplyCT_A9.ABSupplyCT_A9 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:SupplyCenter Side = AmericaLaserGeneral EditorSorting = STRUCTURE Prerequisites Object = Lazr_AmericaPowerPlant End BuildCost = 2000 RefundValue = 400 ; With nothing (or zero) listed, we sell for half price. BuildTime = 10.0 ; in seconds EnergyProduction = -1 CommandSet = Lazr_AmericaSupplyCenterCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = SupplyCenterUSASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CASH_GENERATOR SCORE CAPTURABLE AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY CANNOT_BUILD_NEAR_SUPPLIES FS_SUPPLY_CENTER Body = StructureBody ModuleTag_05 MaxHealth = 2000.0 InitialHealth = 2000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = SupplyCenterCreate ModuleTag_06 ;nothing End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = Lazr_OCL_AmericanRangerDebris03 ExemptStatus = UNDER_CONSTRUCTION End Behavior = ProductionUpdate ModuleTag_09 ; nothing End Behavior = SupplyCenterProductionExitUpdate ModuleTag_10 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 44.0 Y: 0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = BaseRegenerateUpdate ModuleTag_11 ;No data End Behavior = SpawnBehavior ModuleTag_12 SpawnNumber = 1 SpawnReplaceDelay = 9999 SpawnTemplateName = Lazr_AmericaVehicleChinook OneShot = Yes CanReclaimOrphans = No SlavesHaveFreeWill = Yes End Behavior = SupplyCenterDockUpdate ModuleTag_13 NumberApproachPositions = 9 ; There are 9 approach bones in the art End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = CreateObjectDie ModuleTag_16 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_17 DeathFX = FX_StructureSmallDeath End Behavior = TransitionDamageFX ModuleTag_18 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = BOX GeometryMajorRadius = 44.0 GeometryMinorRadius = 45.0 GeometryHeight = 24.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Lazr_AmericaSupplyDropZone ; *** ART Parameters *** SelectPortrait = SADropZone_L ButtonImage = SADropZone UpgradeCameo1 = Upgrade_AmericaSupplyLines Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = ABSupDrop ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop.ABSupDrop AnimationMode = LOOP End ConditionState = DAMAGED Model = ABSupDrop_D ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_D.ABSupDrop_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = ABSupDrop_E ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_E.ABSupDrop_E AnimationMode = LOOP End ConditionState = NIGHT Model = ABSupDrop_N ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_N.ABSupDrop_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = ABSupDrop_DN ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_DN.ABSupDrop_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABSupDrop_EN ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_EN.ABSupDrop_EN AnimationMode = LOOP End ;----------- SNOW ConditionState = SNOW Model = ABSupDrop_S ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_S.ABSupDrop_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABSupDrop_DS ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_DS.ABSupDrop_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABSupDrop_ES ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_ES.ABSupDrop_ES AnimationMode = LOOP End ;---------- SNOW NIGHT ConditionState = NIGHT SNOW Model = ABSupDrop_NS ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_NS.ABSupDrop_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = ABSupDrop_DNS ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_DNS.ABSupDrop_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABSupDrop_ENS ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_ENS.ABSupDrop_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop Animation = ABSupDrop.ABSupDrop AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABSupDrop_D Animation = ABSupDrop_D.ABSupDrop_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABSupDrop_E Animation = ABSupDrop_E.ABSupDrop_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABSupDrop_N Animation = ABSupDrop_N.ABSupDrop_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABSupDrop_DN Animation = ABSupDrop_DN.ABSupDrop_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABSupDrop_EN Animation = ABSupDrop_EN.ABSupDrop_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABSupDrop_S Animation = ABSupDrop_S.ABSupDrop_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABSupDrop_DS Animation = ABSupDrop_DS.ABSupDrop_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABSupDrop_ES Animation = ABSupDrop_ES.ABSupDrop_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABSupDrop_NS Animation = ABSupDrop_NS.ABSupDrop_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABSupDrop_DNS Animation = ABSupDrop_DNS.ABSupDrop_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABSupDrop_ENS Animation = ABSupDrop_ENS.ABSupDrop_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:AmericaSupplyDropZone Side = AmericaLaserGeneral EditorSorting = STRUCTURE BuildCost = 2500 BuildTime = 45.0 ; in seconds Prerequisites Object = Lazr_AmericaStrategyCenter End EnergyProduction = -4 ShroudClearingRange = 100 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = SupplyDropZoneSelect UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** ; Please note that this structure is not a kindof IMMUNE_TO_CAPTURE, ther is code that allows ; CAPTURABLE+STRUCTUES, and FS_TECHNOLOGY kindofs to be disabled, unless explicitly IMMUNE_TO_CAPTURE... ; If this boggles too much, then it is time for a KINDOF_DISABLEABLE!--ML KindOf = STRUCTURE SELECTABLE IMMOBILE SCORE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY FS_SUPPLY_DROPZONE RadarPriority = STRUCTURE Body = ActiveBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = OCLUpdate ModuleTag_05 ; Context window is a reaction to this, no CommandSet OCL = OCL_AmericaSupplyDropZoneCrateDrop MinDelay = 120000 MaxDelay = 120000 CreateAtEdge = Yes ; as opposed to just creating on self End Behavior = DestroyDie ModuleTag_06 End Behavior = CreateObjectDie ModuleTag_07 CreationList = Lazr_OCL_AmericanRangerDebris03 ExemptStatus = UNDER_CONSTRUCTION End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FlammableUpdate ModuleTag_09 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = BaseRegenerateUpdate ModuleTag_11 ;No data End Behavior = TransitionDamageFX ModuleTag_31 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = BOX GeometryMajorRadius = 27.0 GeometryMinorRadius = 27.0 GeometryHeight = 9.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME End ;------------------------------------------------------------------------------ Object Lazr_AmericaBarracks ; *** ART Parameters *** SelectPortrait = SABarracks_L ButtonImage = SABarracks PlacementViewAngle = -45 ;Main barracks model Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;DAY ******************************* ConditionState = NONE Model = ABBARRACKS Animation = ABBarracks.ABBarracks AnimationMode = LOOP End ConditionState = DAMAGED Model = ABBarracks_D Animation = ABBarracks_D.ABBarracks_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = ABBarracks_E Animation = ABBarracks_E.ABBarracks_E AnimationMode = LOOP End ;NIGHT ***************************** ConditionState = NIGHT Model = ABBARRACKS_N Animation = ABBarracks_N.ABBarracks_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = ABBarracks_DN Animation = ABBarracks_DN.ABBarracks_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABBarracks_EN Animation = ABBarracks_EN.ABBarracks_EN AnimationMode = LOOP End ;SNOW ****************************** ConditionState = SNOW Model = ABBARRACKS_S Animation = ABBarracks_S.ABBarracks_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABBarracks_DS Animation = ABBarracks_DS.ABBarracks_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABBarracks_ES Animation = ABBarracks_ES.ABBarracks_ES AnimationMode = LOOP End ;SNOW AND NIGHT ******************** ConditionState = SNOW NIGHT Model = ABBARRACKS_NS Animation = ABBarracks_NS.ABBarracks_NS AnimationMode = LOOP End ConditionState = DAMAGED SNOW NIGHT Model = ABBarracks_DNS Animation = ABBarracks_DNS.ABBarracks_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = ABBarracks_ENS Animation = ABBarracks_ENS.ABBarracks_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks Animation = ABBarracks.ABBarracks AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABBarracks_D Animation = ABBarracks_D.ABBarracks_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABBarracks_E Animation = ABBarracks_E.ABBarracks_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABBarracks_N Animation = ABBarracks_N.ABBarracks_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABBarracks_DN Animation = ABBarracks_DN.ABBarracks_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABBarracks_EN Animation = ABBarracks_EN.ABBarracks_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABBarracks_S Animation = ABBarracks_S.ABBarracks_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABBarracks_DS Animation = ABBarracks_DS.ABBarracks_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABBarracks_ES Animation = ABBarracks_ES.ABBarracks_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABBarracks_NS Animation = ABBarracks_NS.ABBarracks_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABBarracks_DNS Animation = ABBarracks_DNS.ABBarracks_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABBarracks_ENS Animation = ABBarracks_ENS.ABBarracks_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; Draw = W3DModelDraw ModuleTag_TestFlag ; DefaultConditionState ; Model = ABBarracks_FA ; Animation = ABBarracks_FA.ABBarracks_FA ; AnimationMode = LOOP ; End ; ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ; Model = None ; End ; End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A4 Animation = ABBarracks_A4.ABBarracks_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A4N Animation = ABBarracks_A4N.ABBarracks_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A4S Animation = ABBarracks_A4S.ABBarracks_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A4SN Animation = ABBarracks_A4SN.ABBarracks_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBarracks_A4 Animation = ABBarracks_A4.ABBarracks_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBarracks_A4N Animation = ABBarracks_A4N.ABBarracks_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBarracks_A4S Animation = ABBarracks_A4S.ABBarracks_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBarracks_A4SN Animation = ABBarracks_A4SN.ABBarracks_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBarracks_A4 Animation = ABBarracks_A4.ABBarracks_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBarracks_A4N Animation = ABBarracks_A4N.ABBarracks_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBarracks_A4S Animation = ABBarracks_A4S.ABBarracks_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABBarracks_A4SN Animation = ABBarracks_A4SN.ABBarracks_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABBarracks_A6 Animation = ABBarracks_A6.ABBarracks_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABBarracks_A6N Animation = ABBarracks_A6N.ABBarracks_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABBarracks_A6S Animation = ABBarracks_A6S.ABBarracks_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABBarracks_A6SN Animation = ABBarracks_A6SN.ABBarracks_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBarracks_A6 Animation = ABBarracks_A6.ABBarracks_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBarracks_A6N Animation = ABBarracks_A6N.ABBarracks_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBarracks_A6S Animation = ABBarracks_A6S.ABBarracks_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBarracks_A6SN Animation = ABBarracks_A6SN.ABBarracks_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBarracks_A6 Animation = ABBarracks_A6.ABBarracks_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBarracks_A6N Animation = ABBarracks_A6N.ABBarracks_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBarracks_A6S Animation = ABBarracks_A6S.ABBarracks_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABBarracks_A6SN Animation = ABBarracks_A6SN.ABBarracks_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A5 Animation = ABBarracks_A5.ABBarracks_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A5N Animation = ABBarracks_A5N.ABBarracks_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A5S Animation = ABBarracks_A5S.ABBarracks_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A5SN Animation = ABBarracks_A5SN.ABBarracks_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBarracks_AB Animation = ABBarracks_AB.ABBarracks_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBarracks_ABN Animation = ABBarracks_ABN.ABBarracks_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBarracks_ABS Animation = ABBarracks_ABS.ABBarracks_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBarracks_ABSN Animation = ABBarracks_ABSN.ABBarracks_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBarracks_AB Animation = ABBarracks_AB.ABBarracks_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBarracks_ABN Animation = ABBarracks_ABN.ABBarracks_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBarracks_ABS Animation = ABBarracks_ABS.ABBarracks_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABBarracks_ABSN Animation = ABBarracks_ABSN.ABBarracks_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:Barracks Side = AmericaLaserGeneral EditorSorting = STRUCTURE BuildCost = 600 BuildTime = 10.0 ; in seconds EnergyProduction = 0 CommandSet = Lazr_AmericaBarracksCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 100 100 100 100 ; Experience point value at each level Prerequisites ; Object = Lazr_AmericaPowerPlant End ; *** AUDIO Parameters *** VoiceSelect = BarracksUSASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE HEAL_PAD SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_BARRACKS Body = StructureBody ModuleTag_05 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = HealContain ModuleTag_06 ContainMax = 10 ;way bigger than the # of objects we can have TimeForFullHeal = 2000 ;(in milliseconds) AllowInsideKindOf = INFANTRY AllowAlliesInside = Yes AllowNeutralInside = No AllowEnemiesInside = No End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = CreateObjectDie ModuleTag_09 CreationList = Lazr_OCL_AmericanRangerDebris02 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = ProductionUpdate ModuleTag_11 ; nothing End Behavior = DefaultProductionExitUpdate ModuleTag_12 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 55.0 Y: 0.0 Z:0.0 End Behavior = BaseRegenerateUpdate ModuleTag_13 ;No data End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_16 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 55.0 GeometryMinorRadius = 45.0 GeometryHeight = 20.0 GeometryIsSmall = No FactoryExitWidth = 25 ; How much space to leave for units exiting. Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Lazr_AmericaWarFactory ; *** ART Parameters *** SelectPortrait = SACWeaponsfact_L ButtonImage = SACWeaponsfact ; ------------ the main factory itself ----------------- Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ************************************************** DefaultConditionState Model = ABWarFact Animation = ABWarFact.ABWarFact AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED Model = ABWarFact_D Animation = ABWarFact_D.ABWarFact_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = ABWarFact_E Animation = ABWarFact_E.ABWarFact_E AnimationMode = LOOP End ; night ************************************************* ConditionState = NIGHT Model = ABWarFact_N Animation = ABWarFact_N.ABWarFact_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = ABWarFact_DN Animation = ABWarFact_DN.ABWarFact_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABWarFact_EN Animation = ABWarFact_EN.ABWarFact_EN AnimationMode = LOOP End ; snow ************************************************* ConditionState = SNOW Model = ABWarFact_S Animation = ABWarFact_S.ABWarFact_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABWarFact_DS Animation = ABWarFact_DS.ABWarFact_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABWarFact_ES Animation = ABWarFact_ES.ABWarFact_ES AnimationMode = LOOP End ; night snow ************************************************* ConditionState = NIGHT SNOW Model = ABWarFact_NS Animation = ABWarFact_NS.ABWarFact_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = ABWarFact_DNS Animation = ABWarFact_DNS.ABWarFact_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABWarFact_ENS Animation = ABWarFact_ENS.ABWarFact_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact Animation = ABWarFact.ABWarFact AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABWarFact_D Animation = ABWarFact_D.ABWarFact_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABWarFact_E Animation = ABWarFact_E.ABWarFact_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABWarFact_N Animation = ABWarFact_N.ABWarFact_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABWarFact_DN Animation = ABWarFact_DN.ABWarFact_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABWarFact_EN Animation = ABWarFact_EN.ABWarFact_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABWarFact_S Animation = ABWarFact_S.ABWarFact_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABWarFact_DS Animation = ABWarFact_DS.ABWarFact_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABWarFact_ES Animation = ABWarFact_ES.ABWarFact_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABWarFact_NS Animation = ABWarFact_NS.ABWarFact_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABWarFact_DNS Animation = ABWarFact_DNS.ABWarFact_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABWarFact_ENS Animation = ABWarFact_ENS.ABWarFact_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- the factory door ------------------- Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = ABWarFact_A8 Animation = ABWarFact_A8.ABWarFact_A8 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ConditionState = DAMAGED Model = ABWarFact_A8D Animation = ABWarFact_A8D.ABWarFact_A8D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABWarFact_A8E Animation = ABWarFact_A8E.ABWarFact_A8E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = ABWarFact_A8 Animation = ABWarFact_A8.ABWarFact_A8 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = SNOW NIGHT DOOR_1_OPENING ConditionState = DOOR_1_OPENING DAMAGED Model = ABWarFact_A8D Animation = ABWarFact_A8D.ABWarFact_A8D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_OPENING DAMAGED ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = ABWarFact_A8E Animation = ABWarFact_A8E.ABWarFact_A8E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_CLOSING Model = ABWarFact_A8 Animation = ABWarFact_A8.ABWarFact_A8 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = SNOW NIGHT DOOR_1_CLOSING ConditionState = DOOR_1_CLOSING DAMAGED Model = ABWarFact_A8D Animation = ABWarFact_A8D.ABWarFact_A8D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_CLOSING DAMAGED ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = ABWarFact_A8E Animation = ABWarFact_A8E.ABWarFact_A8E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_OPEN Model = ABWarFact_A8 Animation = ABWarFact_A8.ABWarFact_A8 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = ABWarFact_A8D Animation = ABWarFact_A8D.ABWarFact_A8D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN DAMAGED ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = ABWarFact_A8E Animation = ABWarFact_A8E.ABWarFact_A8E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED End ; ------------------ the construction crane ------------ Draw = W3DModelDraw ModuleTag_03 ; ----------------------------------------------------------- OkToChangeModelColor = Yes ; ----------------------------------------------------------- DefaultConditionState Model = ABWarFact_A1 Animation = ABWarFact_A1.ABWarFact_A1 AnimationMode = LOOP TransitionKey = TRANS_Idle End ConditionState = DAMAGED Model = ABWarFact_A1D Animation = ABWarFact_A1D.ABWarFact_A1D AnimationMode = LOOP TransitionKey = TRANS_IdleDamaged End ConditionState = REALLYDAMAGED RUBBLE Model = ABWarFact_A1E Animation = ABWarFact_A1E.ABWarFact_A1E AnimationMode = LOOP TransitionKey = TRANS_IdleReallyDamaged End ; ----------------------------------------------------------- TransitionState = TRANS_Constructing TRANS_Idle Model = ABWarFact_A3 Animation = ABWarFact_A3.ABWarFact_A3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End TransitionState = TRANS_ConstructingDamaged TRANS_IdleDamaged Model = ABWarFact_A3D Animation = ABWarFact_A3D.ABWarFact_A3D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End TransitionState = TRANS_ConstructingReallyDamaged TRANS_IdleReallyDamaged Model = ABWarFact_A3E Animation = ABWarFact_A3E.ABWarFact_A3E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ; ----------------------------------------------------------- ConditionState = ACTIVELY_CONSTRUCTING Model = ABWarFact_A3 Animation = ABWarFact_A3.ABWarFact_A3 AnimationMode = ONCE TransitionKey = TRANS_Constructing Flags = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE End ConditionState = ACTIVELY_CONSTRUCTING DAMAGED Model = ABWarFact_A3D Animation = ABWarFact_A3D.ABWarFact_A3D AnimationMode = ONCE TransitionKey = TRANS_ConstructingDamaged Flags = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE End ConditionState = ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE Model = ABWarFact_A3E Animation = ABWarFact_A3E.ABWarFact_A3E AnimationMode = ONCE TransitionKey = TRANS_ConstructingReallyDamaged Flags = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE End ; ----------------------------------------------------------- ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SOLD Model = ABWarFact_A1 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = SOLD Model = NONE End End ; ------------------ the construction conveyor belt ------------ Draw = W3DModelDraw ModuleTag_04 OkToChangeModelColor = Yes DefaultConditionState Model = ABWarFact_A7 Animation = ABWarFact_A7.ABWarFact_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = SNOW AliasConditionState = NIGHT AliasConditionState = SNOW NIGHT ConditionState = SOLD Model = NONE End AliasConditionState = SNOW SOLD AliasConditionState = NIGHT SOLD AliasConditionState = SNOW NIGHT SOLD ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ConditionState = DAMAGED Model = ABWarFact_A7D Animation = ABWarFact_A7D.ABWarFact_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW NIGHT DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABWarFact_A7E Animation = ABWarFact_A7E.ABWarFact_A7E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState = ACTIVELY_CONSTRUCTING Model = ABWarFact_A7 Animation = ABWarFact_A7.ABWarFact_A7 AnimationMode = LOOP End AliasConditionState = SNOW ACTIVELY_CONSTRUCTING AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING ConditionState = ACTIVELY_CONSTRUCTING DAMAGED Model = ABWarFact_A7D Animation = ABWarFact_A7D.ABWarFact_A7D AnimationMode = LOOP End AliasConditionState = SNOW ACTIVELY_CONSTRUCTING DAMAGED AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING DAMAGED AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING DAMAGED ConditionState = ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE Model = ABWarFact_A7E Animation = ABWarFact_A7E.ABWarFact_A7E AnimationMode = LOOP End AliasConditionState = SNOW ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE End ; ------------ construction done flashing lights ---------- Draw = W3DModelDraw ModuleTag_05 DefaultConditionState Model = None End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End ConditionState = CONSTRUCTION_COMPLETE Model = ABWarFact_A2 Animation = ABWarFact_A2.ABWarFact_A2 AnimationMode = LOOP Flags = START_FRAME_FIRST End End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_06 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A4 Animation = ABWarFact_A4.ABWarFact_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A4N Animation = ABWarFact_A4N.ABWarFact_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A4S Animation = ABWarFact_A4S.ABWarFact_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A4SN Animation = ABWarFact_A4SN.ABWarFact_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABWarFact_A4 Animation = ABWarFact_A4.ABWarFact_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABWarFact_A4N Animation = ABWarFact_A4N.ABWarFact_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABWarFact_A4S Animation = ABWarFact_A4S.ABWarFact_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABWarFact_A4SN Animation = ABWarFact_A4SN.ABWarFact_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABWarFact_A4 Animation = ABWarFact_A4.ABWarFact_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABWarFact_A4N Animation = ABWarFact_A4N.ABWarFact_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABWarFact_A4S Animation = ABWarFact_A4S.ABWarFact_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABWarFact_A4SN Animation = ABWarFact_A4SN.ABWarFact_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABWarFact_A6 Animation = ABWarFact_A6.ABWarFact_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABWarFact_A6N Animation = ABWarFact_A6N.ABWarFact_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABWarFact_A6S Animation = ABWarFact_A6S.ABWarFact_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABWarFact_A6SN Animation = ABWarFact_A6SN.ABWarFact_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABWarFact_A6 Animation = ABWarFact_A6.ABWarFact_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABWarFact_A6N Animation = ABWarFact_A6N.ABWarFact_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABWarFact_A6S Animation = ABWarFact_A6S.ABWarFact_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABWarFact_A6SN Animation = ABWarFact_A6SN.ABWarFact_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABWarFact_A6 Animation = ABWarFact_A6.ABWarFact_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABWarFact_A6N Animation = ABWarFact_A6N.ABWarFact_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABWarFact_A6S Animation = ABWarFact_A6S.ABWarFact_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABWarFact_A6SN Animation = ABWarFact_A6SN.ABWarFact_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_08 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A5 Animation = ABWarFact_A5.ABWarFact_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A5N Animation = ABWarFact_A5N.ABWarFact_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A5S Animation = ABWarFact_A5S.ABWarFact_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A5SN Animation = ABWarFact_A5SN.ABWarFact_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABWarFact_AB Animation = ABWarFact_AB.ABWarFact_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABWarFact_ABN Animation = ABWarFact_ABN.ABWarFact_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABWarFact_ABS Animation = ABWarFact_ABS.ABWarFact_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABWarFact_ABSN Animation = ABWarFact_ABSN.ABWarFact_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABWarFact_AB Animation = ABWarFact_AB.ABWarFact_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABWarFact_ABN Animation = ABWarFact_ABN.ABWarFact_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABWarFact_ABS Animation = ABWarFact_ABS.ABWarFact_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABWarFact_ABSN Animation = ABWarFact_ABSN.ABWarFact_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:WarFactory Side = AmericaLaserGeneral EditorSorting = STRUCTURE Prerequisites Object = Lazr_AmericaSupplyCenter End BuildCost = 2000 BuildTime = 15.0 ; in seconds EnergyProduction = -1 CommandSet = Lazr_AmericaWarFactoryCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = WarFactoryUSASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE REPAIR_PAD SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_WARFACTORY Body = StructureBody ModuleTag_09 MaxHealth = 2000.0 InitialHealth = 2000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ProductionUpdate ModuleTag_10 NumDoorAnimations = 1 DoorOpeningTime = 3250 ;in mSeconds DoorWaitOpenTime = 3000 ;in mSeconds DoorCloseTime = 4000 ;in mSeconds ConstructionCompleteDuration = 1500 ;in mSeconds End Behavior = DefaultProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: -10.0 Y:-30.0 Z:0.0 NaturalRallyPoint = X: 53.0 Y:-30.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RepairDockUpdate ModuleTag_12 TimeForFullHeal = 5000 ;(in milliseconds) NumberApproachPositions = 5 End Behavior = BaseRegenerateUpdate ModuleTag_13 ;No data End ;---- Removed module ; Behavior = SlowDeathBehavior ModuleTag_14 ; DestructionDelay = 500 ; FX = FINAL FX_StructureMediumDeath ; OCL = FINAL OCL_AmericaWarFactoryDebris ; End Behavior = TransitionDamageFX ModuleTag_15 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = CreateObjectDie ModuleTag_16 CreationList = Lazr_OCL_AmericanRangerDebris05 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FlammableUpdate ModuleTag_18 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = CreateObjectDie ModuleTag_20 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_21 DeathFX = FX_StructureMediumDeath End Behavior = DestroyDie ModuleTag_22 ;nothing End Geometry = BOX GeometryMajorRadius = 53.0 GeometryMinorRadius = 60.0 GeometryHeight = 40.0 GeometryIsSmall = No FactoryExitWidth = 25 ; How much space to leave for units exiting. Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Lazr_AmericaFireBase ; *** ART Parameters *** SelectPortrait = SAFirebase_L ButtonImage = SAFirebase Draw = W3DModelDraw ModuleTag_01 IgnoreConditionStates = NIGHT OkToChangeModelColor = Yes ExtraPublicBone = STATION01 ExtraPublicBone = STATION02 ExtraPublicBone = STATION03 ExtraPublicBone = STATION04 DefaultConditionState Model = ABFIREBASE WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponRecoilBone = PRIMARY Barrel Turret = TURRET01 TurretPitch = TURRETEL WeaponLaunchBone = PRIMARY MUZZLE01 WeaponFireFXBone = PRIMARY MUZZLEFX End ConditionState = DAMAGED Model = ABFIREBASE_D End ConditionState = REALLYDAMAGED RUBBLE Model = ABFIREBASE_E End ConditionState = SNOW Model = ABFIREBASE_S End ConditionState = DAMAGED SNOW Model = ABFIREBASE_DS End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABFIREBASE_ES End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED ;************************************************************************************************************************** ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABFIREBASE Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABFIREBASE_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABFIREBASE_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW Model = ABFIREBASE_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:FireBase Side = AmericaLaserGeneral EditorSorting = STRUCTURE Prerequisites Object = Lazr_AmericaPowerPlant End BuildCost = 1000 BuildTime = 25.0 ; in seconds EnergyProduction = 0 WeaponSet Conditions = None Weapon = PRIMARY FireBaseHowitzerGun End VisionRange = 360.0 ; Shroud clearing distance AND targeting range ShroudClearingRange = 360 ArmorSet Conditions = None Armor = FireBaseArmor DamageFX = StructureDamageFXNoShake End CommandSet = Lazr_AmericaFireBaseCommandSet ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = PatriotBatterySelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) TurretMoveLoopLoud End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE SPAWNS_ARE_THE_WEAPONS SCORE FS_TECHNOLOGY FS_BASE_DEFENSE IMMUNE_TO_CAPTURE GARRISONABLE_UNTIL_DESTROYED Body = HiveStructureBody ModuleTag_04; MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 ;**Careful with these damage types -- because area damage types will already ;**damage slaves. PropagateDamageTypesToSlavesWhenExisting = NONE +SNIPER ;+SMALL_ARMS +POISON +RADIATION +SURRENDER ;SwallowDamageTypesIfSlavesNotExisting = NONE +SNIPER +POISON +SURRENDER; Take no damage if no one to pass this to End Behavior = BaseRegenerateUpdate ModuleTag_05 ;No data End Behavior = AIUpdateInterface ModuleTag_06 Turret TurretTurnRate = 60 // turn rate, in degrees per sec TurretPitchRate = 60 AllowsPitch = Yes NaturalTurretPitch = 1 GroundUnitPitch = 40 MinPhysicalPitch = -20 ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY MinIdleScanInterval = 550 ; in milliseconds MaxIdleScanInterval = 950 ; in milliseconds MinIdleScanAngle = 0 ; in degrees off the natural turret angle MaxIdleScanAngle = 360 ; in degrees off the natural turret angle End AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS; defensive weapon MoodAttackCheckRate = 250 End Behavior = GarrisonContain ModuleTag_07 ContainMax = 4 EnterSound = GarrisonEnter ExitSound = GarrisonExit ImmuneToClearBuildingAttacks = Yes DamagePercentToUnits = 100% IsEnclosingContainer = No End Behavior = DestroyDie ModuleTag_08 ;nothing End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_LargeStructureDebris End Behavior = TransitionDamageFX ModuleTag_14 ;-------------DESIGNED FOR TINY SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionTinyExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionTinyShockwave End Behavior = SpecialAbility ModuleTag_15 SpecialPowerTemplate = Lazr_SpecialAbilityLaserGuidedHowitzer UpdateModuleStartsAttack = Yes InitiateSound = MissileDefenderVoiceAttackLaser End Behavior = SpecialAbilityUpdate ModuleTag_16 SpecialPowerTemplate = Lazr_SpecialAbilityLaserGuidedHowitzer StartAbilityRange = 200.0 AbilityAbortRange = 250.0 ;If the target moves outside this range, abort. PreparationTime = 1000 PersistentPrepTime = 500 SpecialObject = Lazr_HowitzerLaserBeam SpecialObjectAttachToBone = BARREL01 End Geometry = BOX GeometryMajorRadius = 26.0 GeometryMinorRadius = 26.0 GeometryHeight = 15.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End Object Lazr_HowitzerLaserBeam ; *** ART Parameters *** Draw = W3DLaserDraw ModuleTag_01 Texture = EXLaser.tga NumBeams = 3 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. InnerBeamWidth = 0.4 ;The total width of beam InnerColor = R:255 G:255 B:255 A:250 ;The inside color of the laser (hot) OuterBeamWidth = 1.2 ;The total width of beam OuterColor = R:255 G:0 B:0 A:150 ;The outside color of the laser (cool) ;MaxIntensityLifetime = 2000 ;Laser stays at max intensity for specified time in ms. ;FadeLifetime = 0 ;Laser will fade and delete. ;@todo -- add shot ability functionality (instead of instant point A to B) End KindOf = IMMOBILE ClientUpdate = LaserUpdate ModuleTag_02 MuzzleParticleSystem = GenericLaserFlare TargetParticleSystem = GenericLaserFlare End End ;--------------------------------------------------------------------------- Object Lazr_CrusaderLaserBeam ; *** ART Parameters *** Draw = W3DLaserDraw ModuleTag_01 Texture = EXLaser4.tga NumBeams = 5 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. InnerBeamWidth = 0.005 ;The total width of beam InnerColor = R:100 G:0 B:0 A:100 ;The inside color of the laser (hot) OuterBeamWidth = 15 ;The total width of beam OuterColor = R:100 G:0 B:0 A:0 ;The outside color of the laser (cool) Tile = Yes ;The height of the texture will determine how many times to tile the texture to fit without scaling. ScrollRate = -2500 ;Scrolls the texture offset this fast -- towards(-) away(+) Segments = 1 ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20 SegmentOverlapRatio = 0 ;This value overlaps(+) or separates(-) the segments by ratio TilingScalar = -3 ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural) ;MaxIntensityLifetime = 2000 ;Laser stays at max intensity for specified time in ms. ;FadeLifetime = 0 ;Laser will fade and delete. ;@todo -- add shot ability functionality (instead of instant point A to B) End KindOf = IMMOBILE Geometry = Sphere GeometryIsSmall = Yes GeometryMajorRadius = 2.0 ClientUpdate = LaserUpdate ModuleTag_07 MuzzleParticleSystem = PaladinPointDefenseLaserFlare TargetParticleSystem = GenericRedLaserFlare PunchThroughScalar = 1.3 ; If our target dies, we get this much bigger so it looks like we punched through End Behavior = DestroyDie ModuleTag_03 ;nothing End Behavior = LifetimeUpdate ModuleTag_04 MinLifetime = 205 ; min lifetime in msec MaxLifetime = 205 ; max lifetime in msec End End ;---------------------------------------------------------------------------------- Object Lazr_PaladinLaserBeam ; *** ART Parameters *** Draw = W3DLaserDraw ModuleTag_01 Texture = EXLaser4.tga NumBeams = 5 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. InnerBeamWidth = 0.005 ;The total width of beam InnerColor = R:100 G:0 B:0 A:100 ;The inside color of the laser (hot) OuterBeamWidth = 15 ;The total width of beam OuterColor = R:100 G:0 B:0 A:0 ;The outside color of the laser (cool) Tile = Yes ;The height of the texture will determine how many times to tile the texture to fit without scaling. ScrollRate = -2500 ;Scrolls the texture offset this fast -- towards(-) away(+) Segments = 1 ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20 SegmentOverlapRatio = 0 ;This value overlaps(+) or separates(-) the segments by ratio TilingScalar = -3 ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural) ;MaxIntensityLifetime = 2000 ;Laser stays at max intensity for specified time in ms. ;FadeLifetime = 0 ;Laser will fade and delete. ;@todo -- add shot ability functionality (instead of instant point A to B) End KindOf = IMMOBILE ClientUpdate = LaserUpdate ModuleTag_02 MuzzleParticleSystem = GenericBlueLaserFlare TargetParticleSystem = GenericBlueLaserFlare End Behavior = LifetimeUpdate ModuleTag_03 MinLifetime = 95 ; min lifetime in msec MaxLifetime = 95 ; max lifetime in msec End End ;------------------------------------------------------------------------------ Object Lazr_AmericaPatriotBattery ; *** ART Parameters *** SelectPortrait = SALaserPatr_L ButtonImage = SALaserPatr Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = ABLaserTrt Turret = TURRET01 TurretPitch = TURRETEL ;WeaponLaunchBone = PRIMARY WeaponA ;WeaponLaunchBone = SECONDARY WeaponA ;WeaponLaunchBone = TERTIARY WeaponA ;WeaponFireFXBone = PRIMARY WeaponA ;WeaponFireFXBone = SECONDARY WeaponA ;WeaponFireFXBone = TERTIARY WeaponA End AliasConditionState = NIGHT ConditionState = DAMAGED Model = ABLaserTrt_D End AliasConditionState = DAMAGED NIGHT ConditionState = REALLYDAMAGED RUBBLE Model = ABLaserTrt_E End AliasConditionState = REALLYDAMAGED RUBBLE NIGHT ConditionState = SNOW Model = ABLaserTrt End AliasConditionState = SNOW NIGHT ConditionState = DAMAGED SNOW Model = ABLaserTrt_D End AliasConditionState = SNOW NIGHT DAMAGED ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABLaserTrt_E End AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABLaserTrt Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABLaserTrt Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABLaserTrt_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW Model = ABLaserTrt_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABLaserTrt_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW Model = ABLaserTrt_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No ; Do not pause the construction anims when low power disabled DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPatriot_A4 Animation = ABPatriot_A4.ABPatriot_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPatriot_A4N Animation = ABPatriot_A4N.ABPatriot_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPatriot_A4S Animation = ABPatriot_A4S.ABPatriot_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPatriot_A4SN Animation = ABPatriot_A4SN.ABPatriot_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABPatriot_A4 Animation = ABPatriot_A4.ABPatriot_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABPatriot_A4N Animation = ABPatriot_A4N.ABPatriot_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABPatriot_A4S Animation = ABPatriot_A4S.ABPatriot_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABPatriot_A4SN Animation = ABPatriot_A4SN.ABPatriot_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABPatriot_A4 Animation = ABPatriot_A4.ABPatriot_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABPatriot_A4N Animation = ABPatriot_A4N.ABPatriot_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABPatriot_A4S Animation = ABPatriot_A4S.ABPatriot_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABPatriot_A4SN Animation = ABPatriot_A4SN.ABPatriot_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No ; Do not pause the construction anims when low power disabled MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABPatriot_A6 Animation = ABPatriot_A6.ABPatriot_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABPatriot_A6N Animation = ABPatriot_A6N.ABPatriot_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABPatriot_A6S Animation = ABPatriot_A6S.ABPatriot_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABPatriot_A6SN Animation = ABPatriot_A6SN.ABPatriot_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABPatriot_A6 Animation = ABPatriot_A6.ABPatriot_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABPatriot_A6N Animation = ABPatriot_A6N.ABPatriot_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABPatriot_A6S Animation = ABPatriot_A6S.ABPatriot_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABPatriot_A6SN Animation = ABPatriot_A6SN.ABPatriot_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABPatriot_A6 Animation = ABPatriot_A6.ABPatriot_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABPatriot_A6N Animation = ABPatriot_A6N.ABPatriot_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABPatriot_A6S Animation = ABPatriot_A6S.ABPatriot_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABPatriot_A6SN Animation = ABPatriot_A6SN.ABPatriot_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:Lazr_PatriotBattery Side = AmericaLaserGeneral EditorSorting = STRUCTURE Prerequisites Object = Lazr_AmericaPowerPlant End BuildCost = 1000 BuildTime = 25.0 EnergyProduction = -5 WeaponSet Conditions = None Weapon = PRIMARY Lazr_PatriotMissileWeapon Weapon = SECONDARY Lazr_PatriotMissileAssistWeapon Weapon = TERTIARY Lazr_PatriotMissileWeaponAir AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT AutoChooseSources = SECONDARY NONE AutoChooseSources = TERTIARY FROM_PLAYER FROM_AI FROM_SCRIPT PreferredAgainst = PRIMARY VEHICLE INFANTRY PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT PreferredAgainst = TERTIARY BALLISTIC_MISSILE AIRCRAFT ShareWeaponReloadTime = Yes End VisionRange = 360.0 ; Shroud clearing distance AND targeting range ShroudClearingRange = 360 ArmorSet Conditions = None Armor = BaseDefenseArmor DamageFX = StructureDamageFXNoShake End CommandSet = AmericaPatriotBatteryCommandSet ExperienceValue = 200 200 200 200 ; Experience point value at each level ;Behavior = AIUpdateInterface ModuleTag_20 ; AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS ; MoodAttackCheckRate = 250 ;End ; *** AUDIO Parameters *** VoiceSelect = PatriotBatterySelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) TurretMoveLoopLoud End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE SCORE FS_TECHNOLOGY POWERED FS_BASE_DEFENSE IMMUNE_TO_CAPTURE Body = StructureBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = StealthDetectorUpdate ModuleTag_13 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 200 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = BaseRegenerateUpdate ModuleTag_05 ;No data End Behavior = AIUpdateInterface ModuleTag_06 Turret TurretTurnRate = 180 // turn rate, in degrees per sec TurretPitchRate = 180 AllowsPitch = Yes NaturalTurretPitch = 45 GroundUnitPitch = 0 MinPhysicalPitch = -20 ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY MinIdleScanInterval = 250 ; in milliseconds MaxIdleScanInterval = 250 ; in milliseconds MinIdleScanAngle = 0 ; in degrees off the natural turret angle MaxIdleScanAngle = 360 ; in degrees off the natural turret angle End AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS; defensive weapon MoodAttackCheckRate = 250 End Behavior = AssistedTargetingUpdate ModuleTag_07 AssistingClipSize = 4 ; How many shots to make when asked by someone of my kind who has a RequestAssistRange weapon AssistingWeaponSlot = SECONDARY ; And the weapon to use. Should have huge range and no natural clip. LaserFromAssisted = PatriotBinaryDataStream ; Stream to draw from the requestor to me LaserToTarget = PatriotBinaryDataStream ; Stream to draw from me to the target End Behavior = DestroyDie ModuleTag_08 ;nothing End Behavior = CreateObjectDie ModuleTag_09 CreationList = Lazr_OCL_AmericanRangerDebris03 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureTinyDeath End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_14 ;-------------DESIGNED FOR TINY SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionTinyExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionTinyShockwave End Geometry = CYLINDER GeometryMajorRadius = 12.0 GeometryMinorRadius = 1.0 GeometryHeight = 14.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Lazr_AmericaLaserCannonUplink ; *** ART Parameters *** SelectPortrait = SAUplink_L ButtonImage = SAUplink Draw = W3DModelDraw ModuleTag_01 ExtraPublicBone = FX01 ExtraPublicBone = FX02 ExtraPublicBone = FX03 ExtraPublicBone = FX04 ExtraPublicBone = FX05 OkToChangeModelColor = Yes ; day ************************************** ConditionState = NONE Model = ABSDILink Animation = ABSDILink.ABSDILink AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED Model = ABSDILink_D Animation = ABSDILink_D.ABSDILink_D AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE Model = ABSDILink_E Animation = ABSDILink_E.ABSDILink_E AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; night ************************************* ConditionState = NIGHT Model = ABSDILink_N Animation = ABSDILink_N.ABSDILink_N AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED NIGHT Model = ABSDILink_DN Animation = ABSDILink_DN.ABSDILink_DN AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABSDILink_EN Animation = ABSDILink_EN.ABSDILink_EN AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; day snow ************************************** ConditionState = SNOW Model = ABSDILink_S Animation = ABSDILink_S.ABSDILink_S AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED SNOW Model = ABSDILink_DS Animation = ABSDILink_DS.ABSDILink_DS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABSDILink_ES Animation = ABSDILink_ES.ABSDILink_ES AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; night snow ************************************* ConditionState = NIGHT SNOW Model = ABSDILink_NS Animation = ABSDILink_NS.ABSDILink_NS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED NIGHT SNOW Model = ABSDILink_DNS Animation = ABSDILink_DNS.ABSDILink_DNS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABSDILink_ENS Animation = ABSDILink_ENS.ABSDILink_ENS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink Animation = ABSDILink.ABSDILink AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABSDILink_D Animation = ABSDILink_D.ABSDILink_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABSDILink_E Animation = ABSDILink_E.ABSDILink_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABSDILink_N Animation = ABSDILink_N.ABSDILink_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABSDILink_DN Animation = ABSDILink_DN.ABSDILink_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABSDILink_EN Animation = ABSDILink_EN.ABSDILink_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABSDILink_S Animation = ABSDILink_S.ABSDILink_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABSDILink_DS Animation = ABSDILink_DS.ABSDILink_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABSDILink_ES Animation = ABSDILink_ES.ABSDILink_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABSDILink_NS Animation = ABSDILink_NS.ABSDILink_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABSDILink_DNS Animation = ABSDILink_DNS.ABSDILink_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABSDILink_ENS Animation = ABSDILink_ENS.ABSDILink_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ;------------ the cannon section (hatch, dish animations) ----------- Draw = W3DModelDraw ModuleTag_02 ExtraPublicBone = FXConnector ExtraPublicBone = FXMain OkToChangeModelColor = Yes ; day ************************************** ConditionState = NONE Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW ConditionState = DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = AWAITING_CONSTRUCTION Model = None End AliasConditionState = NIGHT AWAITING_CONSTRUCTION AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION AliasConditionState = SNOW AWAITING_CONSTRUCTION ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A1 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABSDILink_A1D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE ;Preparing to fire! ConditionState = UNPACKING Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End AliasConditionState = NIGHT UNPACKING AliasConditionState = NIGHT SNOW UNPACKING AliasConditionState = SNOW UNPACKING ConditionState = UNPACKING DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End AliasConditionState = NIGHT UNPACKING DAMAGED AliasConditionState = NIGHT SNOW UNPACKING DAMAGED AliasConditionState = SNOW UNPACKING DAMAGED ConditionState = UNPACKING REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End AliasConditionState = NIGHT UNPACKING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW UNPACKING REALLYDAMAGED RUBBLE AliasConditionState = SNOW UNPACKING REALLYDAMAGED RUBBLE ;Ready to fire -- or firing! ConditionState = DEPLOYED Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DEPLOYED AliasConditionState = NIGHT SNOW DEPLOYED AliasConditionState = SNOW DEPLOYED ConditionState = DEPLOYED DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DEPLOYED DAMAGED AliasConditionState = NIGHT SNOW DEPLOYED DAMAGED AliasConditionState = SNOW DEPLOYED DAMAGED ConditionState = DEPLOYED REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DEPLOYED REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DEPLOYED REALLYDAMAGED RUBBLE AliasConditionState = SNOW DEPLOYED REALLYDAMAGED RUBBLE ;Packing up (recharging for new attack) ConditionState = PACKING Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES3 End AliasConditionState = NIGHT PACKING AliasConditionState = NIGHT SNOW PACKING AliasConditionState = SNOW PACKING ConditionState = PACKING DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES3 End AliasConditionState = NIGHT PACKING DAMAGED AliasConditionState = NIGHT SNOW PACKING DAMAGED AliasConditionState = SNOW PACKING DAMAGED ConditionState = PACKING REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES3 End AliasConditionState = NIGHT PACKING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW PACKING REALLYDAMAGED RUBBLE AliasConditionState = SNOW PACKING REALLYDAMAGED RUBBLE ConditionState = SOLD DEPLOYED Model = NONE End ConditionState = SOLD SNOW DEPLOYED Model = NONE End ConditionState = SOLD NIGHT DEPLOYED Model = NONE End ConditionState = SOLD NIGHT SNOW DEPLOYED Model = NONE End End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4 Animation = ABSDILink_A4.ABSDILink_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4N Animation = ABSDILink_A4N.ABSDILink_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4S Animation = ABSDILink_A4S.ABSDILink_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4SN Animation = ABSDILink_A4SN.ABSDILink_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSDILink_A4 Animation = ABSDILink_A4.ABSDILink_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSDILink_A4N Animation = ABSDILink_A4N.ABSDILink_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSDILink_A4S Animation = ABSDILink_A4S.ABSDILink_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSDILink_A4SN Animation = ABSDILink_A4SN.ABSDILink_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSDILink_A4 Animation = ABSDILink_A4.ABSDILink_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSDILink_A4N Animation = ABSDILink_A4N.ABSDILink_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSDILink_A4S Animation = ABSDILink_A4S.ABSDILink_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSDILink_A4SN Animation = ABSDILink_A4SN.ABSDILink_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABSDILink_A6 Animation = ABSDILink_A6.ABSDILink_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABSDILink_A6N Animation = ABSDILink_A6N.ABSDILink_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABSDILink_A6S Animation = ABSDILink_A6S.ABSDILink_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABSDILink_A6SN Animation = ABSDILink_A6SN.ABSDILink_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSDILink_A6 Animation = ABSDILink_A6.ABSDILink_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSDILink_A6N Animation = ABSDILink_A6N.ABSDILink_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSDILink_A6S Animation = ABSDILink_A6S.ABSDILink_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSDILink_A6SN Animation = ABSDILink_A6SN.ABSDILink_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSDILink_A6 Animation = ABSDILink_A6.ABSDILink_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSDILink_A6N Animation = ABSDILink_A6N.ABSDILink_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSDILink_A6S Animation = ABSDILink_A6S.ABSDILink_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSDILink_A6SN Animation = ABSDILink_A6SN.ABSDILink_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5 Animation = ABSDILink_A5.ABSDILink_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5N Animation = ABSDILink_A5N.ABSDILink_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5S Animation = ABSDILink_A5S.ABSDILink_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5SN Animation = ABSDILink_A5SN.ABSDILink_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSDILink_AB Animation = ABSDILink_AB.ABSDILink_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSDILink_ABN Animation = ABSDILink_ABN.ABSDILink_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSDILink_ABS Animation = ABSDILink_ABS.ABSDILink_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSDILink_ABSN Animation = ABSDILink_ABSN.ABSDILink_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSDILink_AB Animation = ABSDILink_AB.ABSDILink_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSDILink_ABN Animation = ABSDILink_ABN.ABSDILink_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSDILink_ABS Animation = ABSDILink_ABS.ABSDILink_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSDILink_ABSN Animation = ABSDILink_ABSN.ABSDILink_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:ParticleCannon Side = AmericaLaserGeneral EditorSorting = STRUCTURE Prerequisites Object = Lazr_AmericaStrategyCenter Object = Lazr_AmericaAirfield End BuildCost = 5000 BuildTime = 60.0 ; in seconds EnergyProduction = -10 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End CommandSet = Lazr_AmericaParticleUplinkCannonCommandSet ExperienceValue = 400 400 400 400 ; Experience point value at each level MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games MaxSimultaneousLinkKey = Superweapon ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType ; *** AUDIO Parameters *** VoiceSelect = ParticleCannonSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY POWERED MP_COUNT_FOR_VICTORY FS_SUPERWEAPON Body = StructureBody ModuleTag_06 MaxHealth = 4000.0 InitialHealth = 4000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 4200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = BaseRegenerateUpdate ModuleTag_07 ;No data End Behavior = SpecialPowerCreate ModuleTag_16 ;nothing End Behavior = SpecialAbility ModuleTag_11 SpecialPowerTemplate = SuperweaponParticleUplinkCannon UpdateModuleStartsAttack = Yes End Behavior = ParticleUplinkCannonUpdate ModuleTag_12 SpecialPowerTemplate = SuperweaponParticleUplinkCannon ;The values trigger the various pre-stages before being ready to actually fire. ;The total combined value of these determines the first sign of activity in the ;cannon. BeginChargeTime = 5000 ;The outer nodes begin to charge. RaiseAntennaTime = 4667 ;The hatch opens and raises antenna (matches animation speed) ReadyDelayTime = 2000 ;The time after antenna is raised prior to being ready to fire. ;***NOTE -- these values effect gameplay***** TotalFiringTime = 10000 ;The total ground contact time of the beam DamagePerSecond = 400 ;Amount of damage inflicted per second TotalDamagePulses = 40 ;The total number of damage pulses -- less means more damage per pulse, but less accurate WidthGrowTime = 2000 ;The amount of time it takes for the beam to reach full diameter (same value used for shrinking) BeamTravelTime = 2500 ;How long it takes for the beam to hit the ground after leaving the firing dish. DamageType = PARTICLE_BEAM ;Type of damage inflicted. DamageRadiusScalar = 3.4 ;Multiplies the radius (relative to beam diameter) so that things close to the beam can get hit too! RevealRange = 50.0 ;Grants gratuitous vision for the player launching the target as the beam cuts it's swath of death. ;******************************************** ;Bone names for required elements OuterEffectBoneName = FX ;The base name for the outer node bones. OuterEffectNumBones = 5 ;The number of outer nodes. ConnectorBoneName = FXConnector ;The name of the bone where the connector lasers meet. FireBoneName = FXMain ;The name of the bone where the main beam is fired from. ;These are particle systems tied to the outer nodes in varying intensities. OuterNodesLightFlareParticleSystem = ParticleUplinkCannon_OuterNodeLightFlare OuterNodesMediumFlareParticleSystem = ParticleUplinkCannon_OuterNodeMediumFlare OuterNodesIntenseFlareParticleSystem = ParticleUplinkCannon_OuterNodeIntenseFlare ;The connectors system connects each of the outer nodes to the central node that receives ;the lasers from outside. ConnectorMediumLaserName = ParticleUplinkCannon_MediumConnectorLaser ConnectorIntenseLaserName = ParticleUplinkCannon_IntenseConnectorLaser ;Currently commented out -- These ;ConnectorMediumFlare = ParticleUplinkCannon_InnerConnectorMediumFlare ;ConnectorIntenseFlare = ParticleUplinkCannon_InnerConnectorIntenseFlare ;This is the name of the bone on the building where the beam is fired from LaserBaseLightFlareParticleSystemName = ParticleUplinkCannon_LaserBaseReadyToFire ParticleBeamLaserName = ParticleUplinkCannon_OrbitalLaser GroundHitFX = FX_ParticleUplinkCannon_BeamHitsGround ;TotalScorchMarks determines how many times this gets called. ;The flare fxlist that is played over and over during the beam firing process. Be ;mindful of the delay because that effects both art and sound. BeamLaunchFX = FX_ParticleUplinkCannon_BeamLaunchIteration DelayBetweenLaunchFX = 1000 ;Each scorch mark creates an object in the world, so while making more looks better ;it becomes a performance issue. The scalar will calculate the size of the scorch ;mark to make based on the current size of the beam (which changes dynamically). The ;number also matches the number of times the "GroundHitFX" is called. TotalScorchMarks = 20 ScorchMarkScalar = 2.4 ;***NOTE -- these values effect gameplay*** ;The swath of death is the path the laser tracers centered on the targeted position. ;If the amplitude is zero, the line will go straight, with a higher value, it'll do ;a sine wave iteration, but always goes through the target point. SwathOfDeathDistance = 200.0 SwathOfDeathAmplitude = 50.0 ManualDrivingSpeed = 20 ManualFastDrivingSpeed = 40 DoubleClickToFastDriveDelay = 500 ;***SOUNDS!**** PoweringUpSoundLoop = ParticleUplinkCannon_PowerupSoundLoop UnpackToIdleSoundLoop = ParticleUplinkCannon_UnpackToIdleSoundLoop FiringToPackSoundLoop = ParticleUplinkCannon_FiringToPackSoundLoop GroundAnnihilationSoundLoop = ParticleUplinkCannon_GroundAnnihilationSoundLoop ;The trail left behind creates an object that inflicts extra damage for a short period of time. DamagePulseRemnantObjectName = ParticleUplinkCannonTrailRemnant End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = ProductionUpdate ModuleTag_15 ; This is needed in order to get a public timer to work! End Behavior = TransitionDamageFX ModuleTag_17 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = SlowDeathBehavior ModuleTag_18 ; don't run this death if we are under construction... ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 2000 FX = INITIAL FX_ParticleUplinkDeathInitial OCL = INITIAL OCL_SDILinkLasers FX = FINAL FX_StructureMediumDeath OCL = FINAL OCL_ParticleUplinkDeathFinal End Behavior = InstantDeathBehavior ModuleTag_19 ; if we are under construction, use this death instead RequiredStatus = UNDER_CONSTRUCTION OCL = OCL_ABPowerPlantExplode FX = FX_StructureMediumDeath End Geometry = BOX GeometryMajorRadius = 64.0 GeometryMinorRadius = 38.0 GeometryHeight = 38.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Lazr_AmericaLaserCannon ; *** ART Parameters *** SelectPortrait = SAUplink_L ButtonImage = SAUplink Draw = W3DModelDraw ModuleTag_01 ExtraPublicBone = FX01 ExtraPublicBone = FX02 ExtraPublicBone = FX03 ExtraPublicBone = FX04 ExtraPublicBone = FX05 OkToChangeModelColor = Yes ; day ************************************** ConditionState = NONE Model = ABSDILink Animation = ABSDILink.ABSDILink AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED Model = ABSDILink_D Animation = ABSDILink_D.ABSDILink_D AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE Model = ABSDILink_E Animation = ABSDILink_E.ABSDILink_E AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; night ************************************* ConditionState = NIGHT Model = ABSDILink_N Animation = ABSDILink_N.ABSDILink_N AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED NIGHT Model = ABSDILink_DN Animation = ABSDILink_DN.ABSDILink_DN AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABSDILink_EN Animation = ABSDILink_EN.ABSDILink_EN AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; day snow ************************************** ConditionState = SNOW Model = ABSDILink_S Animation = ABSDILink_S.ABSDILink_S AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED SNOW Model = ABSDILink_DS Animation = ABSDILink_DS.ABSDILink_DS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABSDILink_ES Animation = ABSDILink_ES.ABSDILink_ES AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; night snow ************************************* ConditionState = NIGHT SNOW Model = ABSDILink_NS Animation = ABSDILink_NS.ABSDILink_NS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED NIGHT SNOW Model = ABSDILink_DNS Animation = ABSDILink_DNS.ABSDILink_DNS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABSDILink_ENS Animation = ABSDILink_ENS.ABSDILink_ENS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink Animation = ABSDILink.ABSDILink AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABSDILink_D Animation = ABSDILink_D.ABSDILink_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABSDILink_E Animation = ABSDILink_E.ABSDILink_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABSDILink_N Animation = ABSDILink_N.ABSDILink_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABSDILink_DN Animation = ABSDILink_DN.ABSDILink_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABSDILink_EN Animation = ABSDILink_EN.ABSDILink_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABSDILink_S Animation = ABSDILink_S.ABSDILink_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABSDILink_DS Animation = ABSDILink_DS.ABSDILink_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABSDILink_ES Animation = ABSDILink_ES.ABSDILink_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABSDILink_NS Animation = ABSDILink_NS.ABSDILink_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABSDILink_DNS Animation = ABSDILink_DNS.ABSDILink_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABSDILink_ENS Animation = ABSDILink_ENS.ABSDILink_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ;------------ the cannon section (hatch, dish animations) ----------- Draw = W3DModelDraw ModuleTag_02 ExtraPublicBone = FXConnector ExtraPublicBone = FXMain OkToChangeModelColor = Yes ; day ************************************** ConditionState = NONE Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW ConditionState = DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = AWAITING_CONSTRUCTION Model = None End AliasConditionState = NIGHT AWAITING_CONSTRUCTION AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION AliasConditionState = SNOW AWAITING_CONSTRUCTION ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A1 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABSDILink_A1D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE ;Preparing to fire! ConditionState = UNPACKING Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End AliasConditionState = NIGHT UNPACKING AliasConditionState = NIGHT SNOW UNPACKING AliasConditionState = SNOW UNPACKING ConditionState = UNPACKING DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End AliasConditionState = NIGHT UNPACKING DAMAGED AliasConditionState = NIGHT SNOW UNPACKING DAMAGED AliasConditionState = SNOW UNPACKING DAMAGED ConditionState = UNPACKING REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End AliasConditionState = NIGHT UNPACKING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW UNPACKING REALLYDAMAGED RUBBLE AliasConditionState = SNOW UNPACKING REALLYDAMAGED RUBBLE ;Ready to fire -- or firing! ConditionState = DEPLOYED Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DEPLOYED AliasConditionState = NIGHT SNOW DEPLOYED AliasConditionState = SNOW DEPLOYED ConditionState = DEPLOYED DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DEPLOYED DAMAGED AliasConditionState = NIGHT SNOW DEPLOYED DAMAGED AliasConditionState = SNOW DEPLOYED DAMAGED ConditionState = DEPLOYED REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DEPLOYED REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DEPLOYED REALLYDAMAGED RUBBLE AliasConditionState = SNOW DEPLOYED REALLYDAMAGED RUBBLE ;Packing up (recharging for new attack) ConditionState = PACKING Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES3 End AliasConditionState = NIGHT PACKING AliasConditionState = NIGHT SNOW PACKING AliasConditionState = SNOW PACKING ConditionState = PACKING DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES3 End AliasConditionState = NIGHT PACKING DAMAGED AliasConditionState = NIGHT SNOW PACKING DAMAGED AliasConditionState = SNOW PACKING DAMAGED ConditionState = PACKING REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES3 End AliasConditionState = NIGHT PACKING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW PACKING REALLYDAMAGED RUBBLE AliasConditionState = SNOW PACKING REALLYDAMAGED RUBBLE ConditionState = SOLD DEPLOYED Model = NONE End ConditionState = SOLD SNOW DEPLOYED Model = NONE End ConditionState = SOLD NIGHT DEPLOYED Model = NONE End ConditionState = SOLD NIGHT SNOW DEPLOYED Model = NONE End End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4 Animation = ABSDILink_A4.ABSDILink_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4N Animation = ABSDILink_A4N.ABSDILink_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4S Animation = ABSDILink_A4S.ABSDILink_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4SN Animation = ABSDILink_A4SN.ABSDILink_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSDILink_A4 Animation = ABSDILink_A4.ABSDILink_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSDILink_A4N Animation = ABSDILink_A4N.ABSDILink_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSDILink_A4S Animation = ABSDILink_A4S.ABSDILink_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSDILink_A4SN Animation = ABSDILink_A4SN.ABSDILink_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSDILink_A4 Animation = ABSDILink_A4.ABSDILink_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSDILink_A4N Animation = ABSDILink_A4N.ABSDILink_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSDILink_A4S Animation = ABSDILink_A4S.ABSDILink_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSDILink_A4SN Animation = ABSDILink_A4SN.ABSDILink_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABSDILink_A6 Animation = ABSDILink_A6.ABSDILink_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABSDILink_A6N Animation = ABSDILink_A6N.ABSDILink_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABSDILink_A6S Animation = ABSDILink_A6S.ABSDILink_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABSDILink_A6SN Animation = ABSDILink_A6SN.ABSDILink_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSDILink_A6 Animation = ABSDILink_A6.ABSDILink_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSDILink_A6N Animation = ABSDILink_A6N.ABSDILink_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSDILink_A6S Animation = ABSDILink_A6S.ABSDILink_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSDILink_A6SN Animation = ABSDILink_A6SN.ABSDILink_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSDILink_A6 Animation = ABSDILink_A6.ABSDILink_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSDILink_A6N Animation = ABSDILink_A6N.ABSDILink_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSDILink_A6S Animation = ABSDILink_A6S.ABSDILink_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSDILink_A6SN Animation = ABSDILink_A6SN.ABSDILink_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5 Animation = ABSDILink_A5.ABSDILink_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5N Animation = ABSDILink_A5N.ABSDILink_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5S Animation = ABSDILink_A5S.ABSDILink_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5SN Animation = ABSDILink_A5SN.ABSDILink_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSDILink_AB Animation = ABSDILink_AB.ABSDILink_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSDILink_ABN Animation = ABSDILink_ABN.ABSDILink_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSDILink_ABS Animation = ABSDILink_ABS.ABSDILink_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSDILink_ABSN Animation = ABSDILink_ABSN.ABSDILink_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSDILink_AB Animation = ABSDILink_AB.ABSDILink_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSDILink_ABN Animation = ABSDILink_ABN.ABSDILink_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSDILink_ABS Animation = ABSDILink_ABS.ABSDILink_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSDILink_ABSN Animation = ABSDILink_ABSN.ABSDILink_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:LaserCannon Side = AmericaLaserGeneral EditorSorting = STRUCTURE Prerequisites Object = Lazr_AmericaAirfield End BuildCost = 2000 BuildTime = 60.0 ; in seconds EnergyProduction = -10 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End CommandSet = Lazr_AmericaLaserCannonCommandSet ExperienceValue = 400 400 400 400 ; Experience point value at each level MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games MaxSimultaneousLinkKey = Superweapon ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType ; *** AUDIO Parameters *** VoiceSelect = ParticleCannonSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY POWERED MP_COUNT_FOR_VICTORY FS_SUPERWEAPON Body = StructureBody ModuleTag_06 MaxHealth = 4000.0 InitialHealth = 4000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 4200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = BaseRegenerateUpdate ModuleTag_07 ;No data End Behavior = SpecialPowerCreate ModuleTag_16 ;nothing End Behavior = SpecialAbility ModuleTag_11 SpecialPowerTemplate = Lazr_LaserCannon UpdateModuleStartsAttack = Yes End Behavior = ParticleUplinkCannonUpdate ModuleTag_12 SpecialPowerTemplate = Lazr_LaserCannon ;The values trigger the various pre-stages before being ready to actually fire. ;The total combined value of these determines the first sign of activity in the ;cannon. BeginChargeTime = 5000 ;The outer nodes begin to charge. RaiseAntennaTime = 4667 ;The hatch opens and raises antenna (matches animation speed) ReadyDelayTime = 2000 ;The time after antenna is raised prior to being ready to fire. ;***NOTE -- these values effect gameplay***** TotalFiringTime = 15000 ;The total ground contact time of the beam DamagePerSecond = 200 ;Amount of damage inflicted per second TotalDamagePulses = 60 ;The total number of damage pulses -- less means more damage per pulse, but less accurate WidthGrowTime = 2000 ;The amount of time it takes for the beam to reach full diameter (same value used for shrinking) BeamTravelTime = 2000 ;How long it takes for the beam to hit the ground after leaving the firing dish. DamageType = PARTICLE_BEAM ;Type of damage inflicted. DamageRadiusScalar = 3.4 ;Multiplies the radius (relative to beam diameter) so that things close to the beam can get hit too! RevealRange = 50.0 ;Grants gratuitous vision for the player launching the target as the beam cuts it's swath of death. ;******************************************** ;Bone names for required elements OuterEffectBoneName = FX ;The base name for the outer node bones. OuterEffectNumBones = 5 ;The number of outer nodes. ConnectorBoneName = FXConnector ;The name of the bone where the connector lasers meet. FireBoneName = FXMain ;The name of the bone where the main beam is fired from. ;These are particle systems tied to the outer nodes in varying intensities. OuterNodesLightFlareParticleSystem = ParticleUplinkCannon_OuterNodeLightFlare OuterNodesMediumFlareParticleSystem = ParticleUplinkCannon_OuterNodeMediumFlare OuterNodesIntenseFlareParticleSystem = ParticleUplinkCannon_OuterNodeIntenseFlare ;The connectors system connects each of the outer nodes to the central node that receives ;the lasers from outside. ConnectorMediumLaserName = ParticleUplinkCannon_MediumConnectorLaser ConnectorIntenseLaserName = ParticleUplinkCannon_IntenseConnectorLaser ;Currently commented out -- These ;ConnectorMediumFlare = ParticleUplinkCannon_InnerConnectorMediumFlare ;ConnectorIntenseFlare = ParticleUplinkCannon_InnerConnectorIntenseFlare ;This is the name of the bone on the building where the beam is fired from LaserBaseLightFlareParticleSystemName = ParticleUplinkCannon_LaserBaseReadyToFire ParticleBeamLaserName = ParticleUplinkCannon_OrbitalLaser GroundHitFX = FX_ParticleUplinkCannon_BeamHitsGround ;TotalScorchMarks determines how many times this gets called. ;The flare fxlist that is played over and over during the beam firing process. Be ;mindful of the delay because that effects both art and sound. BeamLaunchFX = FX_ParticleUplinkCannon_BeamLaunchIteration DelayBetweenLaunchFX = 1000 ;Each scorch mark creates an object in the world, so while making more looks better ;it becomes a performance issue. The scalar will calculate the size of the scorch ;mark to make based on the current size of the beam (which changes dynamically). The ;number also matches the number of times the "GroundHitFX" is called. TotalScorchMarks = 20 ScorchMarkScalar = 2.4 ;***NOTE -- these values effect gameplay*** ;The swath of death is the path the laser tracers centered on the targeted position. ;If the amplitude is zero, the line will go straight, with a higher value, it'll do ;a sine wave iteration, but always goes through the target point. SwathOfDeathDistance = 200.0 SwathOfDeathAmplitude = 50.0 ManualDrivingSpeed = 20 ManualFastDrivingSpeed = 40 DoubleClickToFastDriveDelay = 300 ;***SOUNDS!**** PoweringUpSoundLoop = ParticleUplinkCannon_PowerupSoundLoop UnpackToIdleSoundLoop = ParticleUplinkCannon_UnpackToIdleSoundLoop FiringToPackSoundLoop = ParticleUplinkCannon_FiringToPackSoundLoop GroundAnnihilationSoundLoop = ParticleUplinkCannon_GroundAnnihilationSoundLoop ;The trail left behind creates an object that inflicts extra damage for a short period of time. DamagePulseRemnantObjectName = ParticleUplinkCannonTrailRemnant End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = ProductionUpdate ModuleTag_15 ; This is needed in order to get a public timer to work! End Behavior = TransitionDamageFX ModuleTag_17 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = SlowDeathBehavior ModuleTag_18 ; don't run this death if we are under construction... ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 2000 FX = INITIAL FX_ParticleUplinkDeathInitial OCL = INITIAL OCL_SDILinkLasers FX = FINAL FX_StructureMediumDeath OCL = FINAL OCL_ParticleUplinkDeathFinal End Behavior = InstantDeathBehavior ModuleTag_19 ; if we are under construction, use this death instead RequiredStatus = UNDER_CONSTRUCTION OCL = OCL_ABPowerPlantExplode FX = FX_StructureMediumDeath End Geometry = BOX GeometryMajorRadius = 64.0 GeometryMinorRadius = 38.0 GeometryHeight = 38.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;---------------------------------------------------------------------------------- Object Lazr_PatriotLaserBeam ; *** ART Parameters *** Draw = W3DLaserDraw ModuleTag_01 Texture = EXLaser4.tga NumBeams = 5 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. InnerBeamWidth = 0.005 ;The total width of beam InnerColor = R:100 G:0 B:0 A:100 ;The inside color of the laser (hot) OuterBeamWidth = 15 ;The total width of beam OuterColor = R:100 G:0 B:0 A:0 ;The outside color of the laser (cool) Tile = Yes ;The height of the texture will determine how many times to tile the texture to fit without scaling. ScrollRate = -2500 ;Scrolls the texture offset this fast -- towards(-) away(+) Segments = 1 ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20 SegmentOverlapRatio = 0 ;This value overlaps(+) or separates(-) the segments by ratio TilingScalar = -3 ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural) ;MaxIntensityLifetime = 2000 ;Laser stays at max intensity for specified time in ms. ;FadeLifetime = 0 ;Laser will fade and delete. ;@todo -- add shot ability functionality (instead of instant point A to B) End KindOf = IMMOBILE Geometry = Sphere GeometryIsSmall = Yes GeometryMajorRadius = 2.0 ClientUpdate = LaserUpdate ModuleTag_07 MuzzleParticleSystem = PaladinPointDefenseLaserFlare TargetParticleSystem = GenericRedLaserFlare PunchThroughScalar = 1.3 ; If our target dies, we get this much bigger so it looks like we punched through End Behavior = DestroyDie ModuleTag_03 ;nothing End Behavior = LifetimeUpdate ModuleTag_04 MinLifetime = 205 ; min lifetime in msec MaxLifetime = 205 ; max lifetime in msec End End ;------------------------------------------------------------------------------ Object Nuke_RadiationFieldSmall ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = NONE End End ; ***DESIGN parameters *** EditorSorting = SYSTEM KindOf = IMMOBILE CLEANUP_HAZARD INERT NO_COLLIDE STICK_TO_TERRAIN_SLOPE ArmorSet Conditions = None Armor = HazardousMaterialArmor End ; ***AUDIO parameters *** SoundAmbient = RadiationPoolAmbientLoop ; *** ENGINEERING Parameters *** Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = FireWeaponUpdate ModuleTag_03 Weapon = Nuke_SmallRadiationFieldWeapon End Behavior = LifetimeUpdate ModuleTag_04 MinLifetime = 2500 MaxLifetime = 2500 End Behavior = FireWeaponUpdate ModuleTag_05 Weapon = HazardFieldCoreWeapon ; Prevents stacking of fields with a small blast of cleaning at the core at startup End Behavior = DestroyDie ModuleTag_06 End Behavior = FXListDie ModuleTag_07 DeathFX = FX_RadiationPoolDie End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryHeight = 1.0 GeometryIsSmall = No End ;------------------------------------------------------------------------------ Object Nuke_BattleMasterTankShell ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 ConditionState = NONE Model = AVTankShel End End ; ***DESIGN parameters *** DisplayName = OBJECT:TankShell EditorSorting = SYSTEM ArmorSet Armor = ProjectileArmor End VisionRange = 0.0 ; *** ENGINEERING Parameters *** KindOf = PROJECTILE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = DestroyDie ModuleTag_03 ;nothing End Behavior = DumbProjectileBehavior ModuleTag_04 DetonateCallsKill = Yes ; To tweak a Bezier path, please see GS FirstHeight = 10 ; Height of Bezier control points above highest intervening terrain SecondHeight = 10 FirstPercentIndent = 50% ; Percentage of shot distance control points are placed SecondPercentIndent = 90% FlightPathAdjustDistPerSecond = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. End Behavior = PhysicsBehavior ModuleTag_05 Mass = 0.01 ; we can't have a zero mass, but we want it pretty tiny... End Behavior = WeaponBonusUpgrade ModuleTag_06 TriggeredBy = Nuke_Upgrade_ChinaWGUraniumShells End Behavior = FireWeaponWhenDeadBehavior ModuleTag_07 DeathWeapon = Nuke_NukeShellWeapon StartsActive = Yes End Geometry = Sphere GeometryIsSmall = Yes GeometryMajorRadius = 1.0 End ;------------------------------------------------------------------------------ Object Nuke_OverlordTankShell ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 ConditionState = NONE Model = AVTankShel End End ; ***DESIGN parameters *** DisplayName = OBJECT:TankShell EditorSorting = SYSTEM ArmorSet Armor = ProjectileArmor End VisionRange = 0.0 ; *** ENGINEERING Parameters *** KindOf = PROJECTILE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = DestroyDie ModuleTag_03 ;nothing End Behavior = DumbProjectileBehavior ModuleTag_04 DetonateCallsKill = Yes ; To tweak a Bezier path, please see GS FirstHeight = 10 ; Height of Bezier control points above highest intervening terrain SecondHeight = 10 FirstPercentIndent = 50% ; Percentage of shot distance control points are placed SecondPercentIndent = 90% FlightPathAdjustDistPerSecond = 100 ; Can allow a max speed this can attempt to follow a target. Units are their velocity we can tag. End Behavior = PhysicsBehavior ModuleTag_05 Mass = 0.01 ; we can't have a zero mass, but we want it pretty tiny... End Behavior = WeaponBonusUpgrade ModuleTag_06 TriggeredBy = Nuke_Upgrade_ChinaWGUraniumShells End Behavior = FireWeaponWhenDeadBehavior ModuleTag_07 DeathWeapon = Nuke_NukeShellWeapon StartsActive = Yes End Geometry = Sphere GeometryIsSmall = Yes GeometryMajorRadius = 1.0 End ;---------------------------------------------------------------------------------------------------------- Object Nuke_ChinaVehicleHelix ; *** ART Parameters *** SelectPortrait = SNHelix_L ButtonImage = SNHelix UpgradeCameo2 = Nuke_Upgrade_HelixNukeBomb UpgradeCameo3 = Upgrade_ChinaHelixGattlingCannon UpgradeCameo4 = Upgrade_ChinaHelixPropagandaTower UpgradeCameo5 = Upgrade_ChinaHelixBattleBunker Draw = W3DOverlordAircraftDraw ModuleTag_01; Works with the dependencyModelDraw of the upgrade portable structures ParticlesAttachedToAnimatedBones = Yes DefaultConditionState Model = NVHELIX Animation = NVHELIX.NVHELIX AnimationMode = LOOP WeaponFireFXBone = PRIMARY Muzzle03 WeaponMuzzleFlash = PRIMARY TurretFX03 HideSubObject = BombWing End ConditionState = MOVING ParticleSysBone = SMOKE01 HelixExhaust ParticleSysBone = SMOKE02 HelixExhaust End ConditionState = REALLYDAMAGED Model = NVHELIX_d Animation = NVHELIX_d.NVHELIX_d AnimationMode = LOOP End ConditionState = REALLYDAMAGED MOVING Model = NVHELIX_d Animation = NVHELIX_d.NVHELIX_d AnimationMode = LOOP ParticleSysBone = SMOKE01 HelixExhaust ParticleSysBone = SMOKE02 HelixExhaust End ConditionState = RUBBLE Model = NVHELIX_d Animation = NVHELIX_d.NVHELIX_d AnimationMode = LOOP End ConditionState = RUBBLE MOVING Model = NVHELIX_d Animation = NVHELIX_d.NVHELIX_d AnimationMode = LOOP ParticleSysBone = SMOKE01 HelixExhaust ParticleSysBone = SMOKE02 HelixExhaust End ConditionState = RUBBLE SPECIAL_DAMAGED Model = NVHELIX_d End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Helix EditorSorting = VEHICLE Side = ChinaNukeGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 200.0 ShroudClearingRange = 600 BuildCost = 1750 BuildTime = 20.0 ;in seconds Prerequisites Object = Nuke_ChinaAirfield End ExperienceValue = 50 100 150 200 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes CommandSet = Nuke_ChinaVehicleHelixCommandSet ArmorSet Conditions = None Armor = ChinookArmor DamageFX = None End WeaponSet Conditions = None ;---------------------------- Weapon = PRIMARY HelixMinigunWeapon PreferredAgainst = PRIMARY INFANTRY AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI ;---------------------------- End WeaponSet Conditions = PLAYER_UPGRADE ;---------------------------- Weapon = PRIMARY HelixMinigunWeapon PreferredAgainst = PRIMARY INFANTRY AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI ;---------------------------- End ; *** AUDIO Parameters *** VoiceSelect = HelixVoiceSelect VoiceMove = HelixVoiceMove VoiceAttack = HelixVoiceAttack SoundAmbient = HelixAmbientLoop SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds VoiceCreate = HelixVoiceCreate VoiceUnload = HelixVoiceUnload VoiceGarrison = HelixVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT ; note that, although Helixes aren't produced at helipads, we want to set this KINDOF so that they can land at ; (well, "near" actually) an Airfield to get healed... KindOf = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE HUGE_VEHICLE TRANSPORT AIRCRAFT SCORE PRODUCED_AT_HELIPAD CAN_ATTACK Body = ActiveBody ModuleTag_03 MaxHealth = 300.0 InitialHealth = 300.0 End Behavior = FXListDie ModuleTag_05 DeathFX = FX_HelicopterStartDeath End Behavior = TransitionDamageFX ModuleTag_06 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition End Behavior = ChinookAIUpdate ModuleTag_07 AutoAcquireEnemiesWhenIdle = Yes RotorWashParticleSystem = HelixRotorWashRing End Locomotor = SET_NORMAL HelixLocomotor Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor Behavior = PhysicsBehavior ModuleTag_09 Mass = 50.0 End Behavior = HelicopterSlowDeathBehavior ModuleTag_10 DestructionDelay = 99999999 ; the destruction delay SpiralOrbitTurnRate = 80.0 ; in degrees per second, bigger # = tighter spiral SpiralOrbitForwardSpeed = 110.0 ; bigger # = larger spiral SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster MaxBraking = 210 ; max braking we can use during death spiral (lower num = wilder spiral) SoundDeathLoop = HelixDamagedLoop MinSelfSpin = 40 ; in degrees per second MaxSelfSpin = 120 ; in degrees per second SelfSpinUpdateDelay = 300 ; in milliseconds SelfSpinUpdateAmount = 5 ; in degrees FallHowFast = 8.0% ; fraction of gravity, lower = take longer to fall MinBladeFlyOffDelay = 1000 ; in milliseconds MaxBladeFlyOffDelay = 1000 ; in milliseconds AttachParticle = SootySmokeTrail AttachParticleBone = Propeller02 BladeObjectName = HelixBlades BladeBoneName = Propeller01 FXBlade = FX_HelicopterBladeExplosion OCLBlade = OCL_HelicopterBladeExplosion FXHitGround = FX_HelicopterHitGround OCLHitGround = OCL_HelicopterHitGround FXFinalBlowUp = FX_HelixHelicopterBlowUpBig OCLFinalBlowUp = OCL_HelixBlades DelayFromGroundToFinalDeath = 30 FinalRubbleObject = HelixRubbleHull End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = ProductionUpdate ModuleTag_25 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End ;-------------------------- Behavior = ObjectCreationUpgrade ModuleTag_22 UpgradeObject = OCL_HelixGattlingCannon TriggeredBy = Upgrade_ChinaHelixGattlingCannon ConflictsWith = Upgrade_ChinaHelixPropagandaTower Upgrade_ChinaHelixBattleBunker End Behavior = CommandSetUpgrade ModuleTag_26 CommandSet = Nuke_ChinaHelixGattlingCannonCommandSet TriggeredBy = Upgrade_ChinaHelixGattlingCannon ConflictsWith = Upgrade_ChinaHelixPropagandaTower Upgrade_ChinaHelixBattleBunker End Behavior = WeaponSetUpgrade ModuleTag_35 TriggeredBy = Upgrade_ChinaHelixGattlingCannon End ; lorenzen commented out 8/4... the helix now keeps its minigun, even when upgraded to gattling ; Behavior = SubObjectsUpgrade ModuleTag_36 ; TriggeredBy = Upgrade_ChinaHelixGattlingCannon ; ConflictsWith = Upgrade_ChinaHelixPropagandaTower Upgrade_ChinaHelixBattleBunker ; HideSubObjects = MINIGUN ; End ;-------------------------- Behavior = ObjectCreationUpgrade ModuleTag_23 UpgradeObject = OCL_HelixPropagandaTower TriggeredBy = Upgrade_ChinaHelixPropagandaTower ConflictsWith = Upgrade_ChinaHelixGattlingCannon Upgrade_ChinaHelixBattleBunker End Behavior = CommandSetUpgrade ModuleTag_27 CommandSet = Nuke_ChinaHelixPropagandaTowerCommandSet TriggeredBy = Upgrade_ChinaHelixPropagandaTower ConflictsWith = Upgrade_ChinaHelixGattlingCannon Upgrade_ChinaHelixBattleBunker End ;-------------------------- Behavior = ObjectCreationUpgrade ModuleTag_24 UpgradeObject = OCL_HelixBattleBunker TriggeredBy = Upgrade_ChinaHelixBattleBunker ConflictsWith = Upgrade_ChinaHelixGattlingCannon Upgrade_ChinaHelixPropagandaTower End Behavior = CommandSetUpgrade ModuleTag_28 CommandSet = Nuke_ChinaHelixBattleBunkerCommandSet TriggeredBy = Upgrade_ChinaHelixBattleBunker ConflictsWith = Upgrade_ChinaHelixGattlingCannon Upgrade_ChinaHelixPropagandaTower End Behavior = PassengersFireUpgrade ModuleTag_34 TriggeredBy = Upgrade_ChinaHelixBattleBunker End ;-------------------------- Behavior = HelixContain ModuleTag_29 Slots = 5 DamagePercentToUnits = 100% AllowInsideKindOf = INFANTRY VEHICLE PORTABLE_STRUCTURE ForbidInsideKindOf = AIRCRAFT ExitDelay = 100 NumberOfExitPaths = 1 PassengersAllowedToFire = No ; the End Behavior = WeaponSetUpgrade ModuleTag_30 TriggeredBy = Upgrade_ChinaBlackNapalm End Behavior = SpecialAbility ModuleTag_32 SpecialPowerTemplate = Nuke_SpecialAbilityHelixNukeBomb UpdateModuleStartsAttack = Yes StartsPaused = Yes; so the UnpauseSpecialPowerUpgrade, below can turn it on InitiateSound = HelixVoiceAttack End Behavior = SpecialAbilityUpdate ModuleTag_33 SpecialPowerTemplate = Nuke_SpecialAbilityHelixNukeBomb StartAbilityRange = 3.0 PreparationTime = 0 SpecialObject = NukeBomb MaxSpecialObjects = 1 SpecialObjectsPersistWhenOwnerDies = Yes SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. UniqueSpecialObjectTargets = No ;This would prevent multiple charges placed on the same object. UnpackTime = 500 ;slight delay to drop bomb FlipOwnerAfterUnpacking = No FleeRangeAfterCompletion = 0.0 ;DOes not run away after finishing ability UnpackSound = NoSound LoseStealthOnTrigger = No ApproachRequiresLOS = No ; we are a helicopter, we can see everything NeedToFaceTarget = No ; can drop the bomb at any angle to target PersistentPrepTime = 100 PersistenceRequiresRecharge = Yes End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_38 SpecialPowerTemplate = Nuke_SpecialAbilityHelixNukeBomb TriggeredBy = Nuke_Upgrade_HelixNukeBomb End Behavior = SubObjectsUpgrade ModuleTag_39 TriggeredBy = Nuke_Upgrade_HelixNukeBomb ShowSubObjects = BombWing End Geometry = CYLINDER GeometryMajorRadius = 35.0 GeometryHeight = 30.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Nuke_ChinaHelixGattlingCannon ; *** ART Parameters *** SelectPortrait = SNGatTower_L ButtonImage = SNGatTower ;UpgradeCameo1 = Upgrade_Nationalism UpgradeCameo1 = Upgrade_ChinaUraniumShells UpgradeCameo2 = Upgrade_ChinaNuclearTanks ;UpgradeCameo4 = NONE UpgradeCameo5 = Upgrade_ChinaOverlordGattlingCannon Draw = W3DDependencyModelDraw ModuleTag_01 OkToChangeModelColor = Yes AttachToBoneInContainer = CHASSISBONE DefaultConditionState Model = NVHelix_G Turret = TURRET01 TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX End ConditionState = CONTINUOUS_FIRE_SLOW Model = NVHelix_G Animation = NVHelix_G.NVHelix_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.1 0.1 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_MEAN Model = NVHelix_G Animation = NVHelix_G.NVHelix_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.2 0.2 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_FAST Model = NVHelix_G Animation = NVHelix_G.NVHelix_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.3 0.3 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ConditionState = REALLYDAMAGED Model = NVHelix_GD Turret = TURRET01 TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX ParticleSysBone = Smoke01 SmokeFactionMedium ParticleSysBone = Smoke02 SmokeFactionMedium ParticleSysBone = Smoke03 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium ParticleSysBone = SparkM02 SparksMedium End ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED Model = NVHelix_GD Animation = NVHelix_GD.NVHelix_GD AnimationMode = LOOP AnimationSpeedFactorRange = 0.1 0.1 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED Model = NVHelix_GD Animation = NVHelix_GD.NVHelix_GD AnimationMode = LOOP AnimationSpeedFactorRange = 0.2 0.2 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED Model = NVHelix_GD Animation = NVHelix_GD.NVHelix_GD AnimationMode = LOOP AnimationSpeedFactorRange = 0.3 0.3 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End End ; ***DESIGN parameters *** Side = ChinaNukeGeneral EditorSorting = SYSTEM TransportSlotCount = 1 WeaponSet Conditions = None Weapon = PRIMARY GattlingBuildingGun PreferredAgainst = PRIMARY INFANTRY Weapon = SECONDARY GattlingBuildingGunAir PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT End ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module End VisionRange = 200 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop VoiceRapidFire = NoSound End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = StealthDetectorUpdate ModuleTag_SDU DetectionRate = 1500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 200 CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = Yes ;Contained means being in a transport or tunnel network. End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY TurretTurnRate = 60 // turn rate, in degrees per sec TurretPitchRate = 60 AllowsPitch = Yes End AutoAcquireEnemiesWhenIdle = Yes End Behavior = DestroyDie ModuleTag_04 ;nothing End Behavior = WeaponBonusUpgrade ModuleTag_05 TriggeredBy = Upgrade_ChinaChainGuns End Geometry = BOX GeometryMajorRadius = 8.0 GeometryMinorRadius = 8.0 GeometryHeight = 9.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Nuke_ChinaHelixPropagandaTower ; *** ART Parameters *** SelectPortrait = SNPropSpeaker_L ButtonImage = SNPropSpeaker UpgradeCameo1 = Upgrade_Nationalism UpgradeCameo2 = Upgrade_ChinaUraniumShells UpgradeCameo3 = Upgrade_ChinaNuclearTanks ;UpgradeCameo4 = NONE UpgradeCameo5 = Upgrade_ChinaOverlordPropagandaTower Draw = W3DDependencyModelDraw ModuleTag_01 OkToChangeModelColor = Yes AttachToBoneInContainer = CHASSISBONE ConditionState = NONE Model = NVHELIX_S Animation = NVHELIX_S.NVHELIX_S AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = NVHELIX_SD ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Flame01 SmolderingFire ParticleSysBone = Flame01 SmolderingFlameCore ParticleSysBone = Spark01 LiveWireSparks End ; night ConditionState = NIGHT Model = NVHELIX_S Animation = NVHELIX_S.NVHELIX_S AnimationMode = LOOP End End PlacementViewAngle = -45 ; ***DESIGN parameters *** Side = ChinaNukeGeneral EditorSorting = SYSTEM TransportSlotCount = 1 ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module End VisionRange = 200 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 ; End Behavior = PropagandaTowerBehavior ModuleTag_04 Radius = 150.0 DelayBetweenUpdates = 2000 ; in milliseconds HealPercentEachSecond = 1% ; get this % of max health every second PulseFX = FX_HelixPropagandaTowerPropagandaPulse ;plays as often as DelayBetweenUpdates UpgradeRequired = Upgrade_ChinaSubliminalMessaging UpgradedHealPercentEachSecond = 2% ; get this % of max health every second UpgradedPulseFX = FX_HelixPropagandaTowerSubliminalPulse ;plays as often as DelayBetweenUpdates End Behavior = DestroyDie ModuleTag_05 ; End Geometry = BOX GeometryMajorRadius = 6.0 GeometryMinorRadius = 6.0 GeometryHeight = 10.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Nuke_ChinaHelixBattleBunker ; *** ART Parameters *** SelectPortrait = SNBunker_L ButtonImage = SNBunker ;UpgradeCameo1 = Upgrade_Nationalism UpgradeCameo1 = Upgrade_ChinaUraniumShells UpgradeCameo2 = Upgrade_ChinaNuclearTanks ;UpgradeCameo4 = NONE UpgradeCameo5 = Upgrade_ChinaOverlordBattleBunker Draw = W3DDependencyModelDraw ModuleTag_01 OkToChangeModelColor = Yes AttachToBoneInContainer = CHASSISBONE ConditionState = NONE Model = NVHELIX_B End ConditionState = REALLYDAMAGED Model = NVHELIX_BD ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Flame01 SmolderingFire ParticleSysBone = Flame01 SmolderingFlameCore ParticleSysBone = Spark01 LiveWireSparks End ; night ConditionState = NIGHT Model = NVHELIX_B End ConditionState = NIGHT REALLYDAMAGED Model = NVHELIX_BD ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Flame01 SmolderingFire ParticleSysBone = Flame01 SmolderingFlameCore ParticleSysBone = Spark01 LiveWireSparks End End PlacementViewAngle = -45 ; ***DESIGN parameters *** Side = ChinaNukeGeneral EditorSorting = SYSTEM TransportSlotCount = 1 ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module End VisionRange = 200 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop VoiceUnload = OverlordTankVoiceUnload End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = DestroyDie ModuleTag_04 ;nothing End Geometry = BOX GeometryMajorRadius = 6.0 GeometryMinorRadius = 6.0 GeometryHeight = 10.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Nuke_ChinaJetMIG ; *** ART Parameters *** SelectPortrait = SNMig_L ButtonImage = SNMig UpgradeCameo1 = Upgrade_ChinaAircraftArmor UpgradeCameo2 = Upgrade_ChinaTacticalNukeMig ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = NVMIGN HideSubObject = BurnerFX01 BurnerFX02 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Exhaust01 JetExhaust ParticleSysBone = Exhaust02 JetExhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED Model = NVMIGN_D ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE Model = NVMIGN_D End ConditionState = REALLYDAMAGED JETEXHAUST Model = NVMIGN_D ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = NVMIGN_D ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER ; @todo srj -- model missing ;Model = NVMIG_D1B Model = NVMIGN_D ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End End ; ***DESIGN parameters *** DisplayName = OBJECT:MIG EditorSorting = VEHICLE Side = ChinaNukeGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 200.0 ShroudClearingRange = 300.0 Prerequisites Object = Nuke_ChinaAirfield End WeaponSet Conditions = None Weapon = PRIMARY Nuke_MiGMissileWeapon End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY Nuke_NukeMissileWeapon End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End BuildCost = 1400 BuildTime = 10 ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ChinaJetMIGCommandSet ; *** AUDIO Parameters *** VoiceSelect = MigVoiceSelect VoiceMove = MigVoiceMove VoiceAttack = MigVoiceAttack VoiceAttackAir = MigVoiceAttackAir VoiceGuard = MigVoiceAirPatrol SoundAmbient = MigAmbientLoop UnitSpecificSounds VoiceCreate = MigVoiceCreate Afterburner = RaptorAfterburner VoiceGarrison = MigVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 160.0 InitialHealth = 160.0 End Behavior = JetSlowDeathBehavior ModuleTag_03 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_MIGDeathFinalBlowUp DestructionDelay = 99999999 ; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_MigDeathInitial OCLInitialDeath = OCL_MIGDeathInitial DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary OCLSecondary = OCL_MIGDeathSecondary FXHitGround = FX_JetDeathHitGround OCLHitGround = OCL_MIGDeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_MIGDeathFinalBlowUp End Behavior = WeaponSetUpgrade ModuleTag_04 TriggeredBy = Upgrade_ChinaTacticalNukeMig End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End Behavior = JetAIUpdate ModuleTag_06 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Locomotor = SET_NORMAL MIGLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = FlammableUpdate ModuleTag_08 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_09 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Behavior = MaxHealthUpgrade ModuleTag_10 TriggeredBy = Upgrade_ChinaAircraftArmor AddMaxHealth = 40.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Geometry = Box GeometryIsSmall = Yes GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 5.0 Shadow = SHADOW_VOLUME Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Nuke_ChinaJetCargoPlane ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = NVCargoPln Animation = NVCargoPln.NVCargoPln AnimationMode = LOOP ParticleSysBone = Propeller01 JetBlackTrailThin ParticleSysBone = Propeller02 JetBlackTrailThin ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin End ConditionState = DAMAGED Model = NVCargoPln_D Animation = NVCargoPln_D.NVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke03 JetFireLarge ParticleSysBone = Propeller01 JetBlackTrailThin ParticleSysBone = Propeller02 JetBlackTrailThin ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin End ConditionState = REALLYDAMAGED Model = NVCargoPln_D Animation = NVCargoPln_D.NVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke03 JetFireLarge ParticleSysBone = Smoke04 JetFireLarge ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 JetSmokeLarge ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin End ConditionState = RUBBLE Model = NVCargoPln_D1 ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke06 JetFireLarge ParticleSysBone = Smoke03 JetFireLarge ParticleSysBone = Smoke04 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke06 JetSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 JetSmokeLarge End OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes End Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = NVCargoPln_A2 Animation = NVCargoPln_A2.NVCargoPln_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING Model = NVCargoPln_A2 Animation = NVCargoPln_A2.NVCargoPln_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_CLOSING Model = NVCargoPln_A2 Animation = NVCargoPln_A2.NVCargoPln_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:CargoPlane EditorSorting = VEHICLE Side = ChinaNukeGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 0.0 ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End CommandSet = Command_ScriptedTransportDrops ; *** AUDIO Parameters *** SoundAmbient = C130AmbientLoop SoundAmbientRubble = NoSound ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT FORCEATTACKABLE IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 1000.0 InitialHealth = 1000.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = PhysicsBehavior ModuleTag_04 Mass = 500.0 End Behavior = DeliverPayloadAIUpdate ModuleTag_05 DoorDelay = 500 MaxAttempts = 4 DropOffset = X:0 Y:0 Z:-10 DropDelay = 300 ;500 ; time in between each item dropped (if more than one) PutInContainer = AmericaParachute DeliveryDistance = 150 End Locomotor = SET_NORMAL B52Locomotor Behavior = TransportContain ModuleTag_06 Slots = 100 ; hey, it's a BIG transport ScatterNearbyOnExit = No OrientLikeContainerOnExit = Yes KeepContainerVelocityOnExit = Yes ExitPitchRate = 30 ExitBone = WeaponA01 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em NumberOfExitPaths = 0 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' End ;SCRIPTED SUPPORT: These special powers are triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_07 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ OCL = SUPERWEAPON_DaisyCutter CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_08 SpecialPowerTemplate = SuperweaponParadropAmerica UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 OCL = SUPERWEAPON_Paradrop1 CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_09 SpecialPowerTemplate = Nuke_SuperweaponChinaCarpetBomb ;available at level 3 instead of 8 OCL = Nuke_SUPERWEAPON_ChinaCarpetBomb CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_10 SpecialPowerTemplate = SuperweaponClusterMines OCL = SUPERWEAPON_ClusterMines CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_11 SpecialPowerTemplate = SuperweaponEMPPulse OCL = SUPERWEAPON_EMPPulse CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = JetSlowDeathBehavior ModuleTag_12 DestructionDelay = 2000 RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetBigDeathInitial OCLInitialDeath = OCL_AmericaJetCargoDeathStart DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time OCLSecondary = OCL_AmericaJetCargoHulkDeath FXSecondary = FX_BigPlaneDeath End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_13 ;;;;;;;; End Behavior = TransitionDamageFX ModuleTag_14 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition End Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 40.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Nuke_ChinaInfantryRedguard ; *** ART Parameters *** SelectPortrait = SNRedGuard_L ButtonImage = SNRedGuard_L UpgradeCameo1 = Upgrade_Nationalism UpgradeCameo2 = Upgrade_InfantryCaptureBuilding ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; this says "we don't use these condition states at all, so completely ; ignore them for purposes of matchmaking"... this is useful to help ; reduce the number of AliasConditionState clauses you must add in ; order to avoid ambiguity in some cases. IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A ; ------- Standing-Around Animations DefaultConditionState Model = NICNSC_SKN IdleAnimation = NICNSC_SKL.NICNSC_STA 0 35 IdleAnimation = NICNSC_SKL.NICNSC_IDA IdleAnimation = NICNSC_SKL.NICNSC_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX TransitionKey = TRANS_Stand End ConditionState = REALLYDAMAGED IdleAnimation = NICNSC_SKL.NICNSC_STB AnimationMode = ONCE TransitionKey = TRANS_StandDamaged End ; ------- Machine Gun Animations ConditionState = USING_WEAPON_A Animation = NICNSC_SKL.NICNSC_ATA AnimationMode = LOOP TransitionKey = TRANS_Firing End ConditionState = USING_WEAPON_A REALLYDAMAGED Animation = NICNSC_SKL.NICNSC_ATC AnimationMode = LOOP TransitionKey = TRANS_FiringDamaged End ; ------- Firing-related Transitions TransitionState = TRANS_Firing TRANS_FiringDamaged Animation = NICNSC_SKL.NICNSC_AA2AC AnimationMode = ONCE End TransitionState = TRANS_Stand TRANS_Firing Animation = NICNSC_SKL.NICNSC_SA2AA AnimationMode = ONCE End TransitionState = TRANS_Firing TRANS_Stand Animation = NICNSC_SKL.NICNSC_AA2SA AnimationMode = ONCE End TransitionState = TRANS_StandDamaged TRANS_FiringDamaged Animation = NICNSC_SKL.NICNSC_ATCST AnimationMode = ONCE End TransitionState = TRANS_FiringDamaged TRANS_StandDamaged Animation = NICNSC_SKL.NICNSC_ATCED AnimationMode = ONCE End ; ------------- Damage Transitions -------------------- TransitionState = TRANS_StandDamaged TRANS_RunDamaged Animation = NICNSC_SKL.NICNSC_AA2AC AnimationMode = ONCE AnimationSpeedFactorRange = 2 2 End TransitionState = TRANS_RunDamaged TRANS_StandDamaged Animation = NICNSC_SKL.NICNSC_AA2AC AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2 2 Flags = START_FRAME_LAST End TransitionState = TRANS_Stand TRANS_StandDamaged Animation = NICNSC_SKL.NICNSC_AA2SA AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 4 5 Flags = START_FRAME_LAST End ; ------- Bayonet Animations ConditionState = PREATTACK_C Animation = NICNSC_SKL.NICNSC_ATB1 AnimationMode = ONCE TransitionKey = TRANS_Stab End AliasConditionState = PREATTACK_C MOVING AliasConditionState = PREATTACK_C FIRING_C AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_C ConditionState = FIRING_C Animation = NICNSC_SKL.NICNSC_ATB2 AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_Stab End AliasConditionState = BETWEEN_FIRING_SHOTS_C AliasConditionState = RELOADING_C ; ------- Parachuting Animations ConditionState = FREEFALL Animation = NICNSC_SKL.NICNSC_POP AnimationMode = MANUAL Flags = START_FRAME_FIRST TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = NICNSC_SKL.NICNSC_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = NICNSC_SKL.NICNSC_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = NICNSC_SKL.NICNSC_PTD AnimationMode = ONCE End ; ------- Movement Animations ConditionState = MOVING Animation = NICNSC_SKL.NICNSC_RNA 26 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING ConditionState = MOVING REALLYDAMAGED Animation = NICNSC_SKL.NICNSC_RNB 28 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_RunDamaged TransitionKey = None End AliasConditionState = MOVING ATTACKING REALLYDAMAGED ; ------- Bldg-capture ConditionState = UNPACKING Model = NICNSC_F_SKN Animation = NICNSC_F_SKL.NICNSC_F_FDP1 AnimationMode = ONCE End AliasConditionState = UNPACKING REALLYDAMAGED ConditionState = RAISING_FLAG Model = NICNSC_F_SKN Animation = NICNSC_F_SKL.NICNSC_F_FDP2 AnimationMode = ONCE TransitionKey = TRANS_Raising End AliasConditionState = RAISING_FLAG REALLYDAMAGED ConditionState = PACKING Model = NICNSC_F_SKN Animation = NICNSC_F_SKL.NICNSC_F_FDP1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST TransitionKey = TRANS_Packing End AliasConditionState = PACKING REALLYDAMAGED TransitionState = TRANS_Raising TRANS_Packing Model = NICNSC_F_SKN Animation = NICNSC_F_SKL.NICNSC_F_FDP2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ; ------- Dying Animations ConditionState = DYING Animation = NICNSC_SKL.NICNSC_DTA Animation = NICNSC_SKL.NICNSC_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = NICNSC_SKL.NICNSC_ATDE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = NICNSC_SKL.NICNSC_ATDE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = NICNSC_SKL.NICNSC_ATDE3 AnimationMode = ONCE TransitionKey = None End ; ------- Misc Animations ConditionState = SPECIAL_CHEERING Animation = NICNSC_SKL.NICNSC_CHA AnimationMode = LOOP End End ; ***DESIGN parameters *** DisplayName = OBJECT:Redguard Side = ChinaNukeGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY RedguardMachineGun End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 100 ShroudClearingRange = 200 Prerequisites Object = Nuke_ChinaBarracks End BuildCost = 350 BuildTime = 12.0 ;in seconds ExperienceValue = 5 5 10 20 ;Experience point value at each level ExperienceRequired = 0 20 40 80 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ChinaInfantryRedguardCommandSet ; *** AUDIO Parameters *** VoiceSelect = RedGuardVoiceSelect VoiceMove = RedGuardVoiceMove VoiceGuard = RedGuardVoiceMove VoiceAttack = RedGuardVoiceAttack VoiceGroupSelect = BattleCrySound VoiceFear = RedGuardVoiceFear VoiceTaskComplete = RedGuardVoiceCaptureComplete UnitSpecificSounds VoiceMelee = RedGuardVoiceAttackBayonet VoiceGarrison = RedGuardVoiceGarrison VoiceCreate = RedGuardVoiceCreate VoiceSubdue = RedGuardVoiceSubdue VoiceEnter = RedGuardVoiceMove VoiceEnterHostile = RedGuardVoiceMove VoiceGetHealed = RedGuardVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE PARACHUTABLE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = VeterancyGainCreate ModuleTag_03 StartingLevel = VETERAN ScienceRequired = SCIENCE_RedGuardTraining End Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_05 ; allows use of command button hunt script with this unit. End Locomotor = SET_NORMAL RedguardLocomotor Behavior = HordeUpdate ModuleTag_06 RubOffRadius = 60 ; if I am this close to a real hordesman, I will get to be an honorary hordesman UpdateRate = 1000 ; how often to recheck horde status (msec) Radius = 30 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) KindOf = INFANTRY ; what KindOf's must match to count towards horde-ness AlliesOnly = Yes ; do we only count allies towards horde status? ExactMatch = No ; do we only count units of our exact same type towards horde status? (overrides kindof) Count = 5 ; how many units must be within Radius to grant us horde-ness Action = HORDE ; when horde-ing, grant us the HORDE bonus End Behavior = PhysicsBehavior ModuleTag_07 Mass = 5.0 End Behavior = SquishCollide ModuleTag_10 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RedGuardDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RedGuardDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireChina OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_15 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SpecialAbility ModuleTag_16 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding UpdateModuleStartsAttack = Yes StartsPaused = Yes InitiateSound = RedGuardVoiceCapture End Behavior = SpecialAbilityUpdate ModuleTag_17 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding StartAbilityRange = 5.0 UnpackTime = 3000 ; (changing this will scale anim speed) PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) PackTime = 2000 ; (changing this will scale anim speed) DoCaptureFX = Yes AwardXPForTriggering = 4 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_18 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding TriggeredBy = Upgrade_InfantryCaptureBuilding End Geometry = CYLINDER GeometryMajorRadius = 7.0 GeometryMinorRadius = 7.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Nuke_ChinaInfantryBlackLotus ; *** ART Parameters *** SelectPortrait = SNBlkLotus_L2 ButtonImage = SNBlkLotus2 ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; --- idle DefaultConditionState Model = NIHERO_SKN IdleAnimation = NIHERO_SKL.NIHERO_STA 0 17 IdleAnimation = NIHERO_SKL.NIHero_IDA IdleAnimation = NIHERO_SKL.NIHero_IDB AnimationMode = ONCE TransitionKey = TRANS_Stand End ConditionState = REALLYDAMAGED IdleAnimation = NIHERO_SKL.NIHERO_ISTA 0 30 IdleAnimation = NIHERO_SKL.NIHero_IIDA AnimationMode = ONCE TransitionKey = TRANS_StandInjured End TransitionState = TRANS_Stand TRANS_StandInjured Animation = NIHero_SKL.NIHero_ISTAHIT AnimationMode = ONCE End ; --- moving ConditionState = MOVING Animation = NIHero_SKL.NIHero_RNA AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING UNPACKING ConditionState = MOVING REALLYDAMAGED Animation = NIHero_SKL.NIHero_IRNA AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING UNPACKING REALLYDAMAGED ; --- packing states ConditionState = UNPACKING ;Preparing to attack (unpacking gear) Animation = NIHero_SKL.NIHero_ATA1 AnimationMode = ONCE End AliasConditionState = UNPACKING FIRING_A ConditionState = FIRING_A ;Processing attack (hacking) Animation = NIHero_SKL.NIHero_ATA2 AnimationMode = LOOP TransitionKey = TRANS_FiringA End ConditionState = PACKING ;Completing attack (packing gear) Animation = NIHero_SKL.NIHero_ATA3 AnimationMode = ONCE End AliasConditionState = FIRING_A PACKING TransitionState = TRANS_FiringA TRANS_FiringAInjured Animation = NIHero_SKL.NIHero_IATAHIT AnimationMode = ONCE End ; --- injured-packing states ConditionState = UNPACKING REALLYDAMAGED ;Preparing to attack (unpacking gear) Animation = NIHero_SKL.NIHero_IATA1 AnimationMode = ONCE End AliasConditionState = UNPACKING FIRING_A REALLYDAMAGED ConditionState = FIRING_A REALLYDAMAGED ;Processing attack (hacking) Animation = NIHero_SKL.NIHero_IATA2 AnimationMode = LOOP TransitionKey = TRANS_FiringAInjured End ConditionState = PACKING REALLYDAMAGED ;Completing attack (packing gear) Animation = NIHero_SKL.NIHero_IATA3 AnimationMode = ONCE End AliasConditionState = FIRING_A PACKING REALLYDAMAGED ; --- packing-dying states ; code doesn't really support this. Oh well. ; ConditionState = DYING RAISING_FLAG ; Animation = NIHero_SKL.NIHero_IDTA ; Animation = NIHero_SKL.NIHero_IDTB ; AnimationMode = ONCE ; End ; AliasConditionState = DYING RAISING_FLAG EXPLODED_FLAILING EXPLODED_BOUNCING ; --- normal-dying states ConditionState = DYING Animation = NIHero_SKL.NIHero_DTA Animation = NIHero_SKL.NIHero_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = NIHero_SKL.NIHero_ADTF1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = NIHero_SKL.NIHero_ADTF2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = NIHero_SKL.NIHero_ADTF3 AnimationMode = ONCE TransitionKey = None End ; --- cheering states ConditionState = SPECIAL_CHEERING Animation = NIHERO_SKL.NIHERO_CHA AnimationMode = ONCE End ConditionState = SPECIAL_CHEERING REALLYDAMAGED Animation = NIHERO_SKL.NIHERO_ICHA AnimationMode = ONCE End ; --- falling states ConditionState = FREEFALL Animation = NIHero_SKL.NIHero_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = NIHero_SKL.NIHero_PHG AnimationMode = LOOP TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = NIHero_SKL.NIHero_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = NIHero_SKL.NIHero_PTD AnimationMode = ONCE End TransitionState = TRANS_Chute TRANS_StandInjured Animation = NIHero_SKL.NIHero_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:BlackLotus Side = ChinaNukeGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY None End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 300 ShroudClearingRange = 400 Prerequisites Object = Nuke_ChinaBarracks Object = Nuke_ChinaPropagandaCenter End BuildCost = 1600 BuildTime = 20.0 ;in seconds MaxSimultaneousOfType = 1 CommandSet = Nuke_ChinaInfantryBlackLotusCommandSet ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Nuke_ChinaInfantryBlackLotusCommandSet ; *** AUDIO Parameters *** VoiceSelect = BlackLotusVoiceSelect VoiceMove = BlackLotusVoiceMove VoiceAttack = NoSound VoiceGuard = BlackLotusVoiceMove VoiceFear = BlackLotusVoiceFear VoiceTaskComplete = BlackLotusVoiceCaptureComplete SoundStealthOn = StealthOn SoundStealthOff = StealthOff UnitSpecificSounds VoiceCreate = BlackLotusVoiceCreate VoiceGarrison = BlackLotusVoiceMove VoiceEnter = BlackLotusVoiceMove VoiceEnterHostile = BlackLotusVoiceMove VoiceStealCashComplete = BlackLotusVoiceCashComplete VoiceDisableVehicleComplete = BlackLotusVoiceDisableComplete VoiceCaptureBuildingComplete = BlackLotusVoiceCaptureComplete VoiceGetHealed = BlackLotusVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE HERO CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 200.0 InitialHealth = 200.0 End Behavior = CommandButtonHuntUpdate ModuleTag_03 ; allows use of command button hunt script with this unit. End Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = No End Locomotor = SET_NORMAL BlackLotusLocomotor Locomotor = SET_FREEFALL FreeFallLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 5.0 End Behavior = StealthUpdate ModuleTag_07 StealthDelay = 2500 ; msec StealthForbiddenConditions = USING_ABILITY HintDetectableConditions = USING_ABILITY InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes EnemyDetectionEvaEvent = EnemyBlackLotusDetected OwnDetectionEvaEvent = OwnBlackLotusDetected End Behavior = StealthDetectorUpdate ModuleTag_44 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = SpecialAbility ModuleTag_08 SpecialPowerTemplate = SpecialAbilityBlackLotusCaptureBuilding UpdateModuleStartsAttack = Yes InitiateSound = BlackLotusVoiceHackBuilding End Behavior = SpecialAbilityUpdate ModuleTag_09 SpecialPowerTemplate = SpecialAbilityBlackLotusCaptureBuilding StartAbilityRange = 150.0 UnpackTime = 6730 ;animation time is 6730 (changing this will scale anim speed) PackTime = 2800 ;animation time is 5800 (changing this will scale anim speed) PreparationTime = 6000 ;time to complete hack once prepared (unpacked) SpecialObject = BinaryDataStream DoCaptureFX = Yes PackSound = BlackLotusPack UnpackSound = BlackLotusUnpack TriggerSound = BlackLotusTrigger PrepSoundLoop = BlackLotusPrepLoop AwardXPForTriggering = 20 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = SpecialAbility ModuleTag_10 SpecialPowerTemplate = SpecialAbilityBlackLotusDisableVehicleHack UpdateModuleStartsAttack = Yes InitiateSound = BlackLotusVoiceHackVehicle End Behavior = SpecialAbilityUpdate ModuleTag_11 SpecialPowerTemplate = SpecialAbilityBlackLotusDisableVehicleHack StartAbilityRange = 150.0 UnpackTime = 2000 ;6730 ;animation time is 6730 (changing this will scale anim speed) PackTime = 1000 ;2800 ;animation time is 5800 (changing this will scale anim speed) PreparationTime = 2000 ;time to complete hack once prepared (unpacked) EffectDuration = 15000 ;duration vehicle is disabled (30 seconds) DisableFXParticleSystem = DisabledEffectBinaryShower0 SpecialObject = BinaryDataStream PackSound = BlackLotusPack UnpackSound = BlackLotusUnpack TriggerSound = BlackLotusTrigger PrepSoundLoop = BlackLotusPrepLoop AwardXPForTriggering = 0 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = SpecialAbility ModuleTag_12 SpecialPowerTemplate = SpecialAbilityBlackLotusStealCashHack UpdateModuleStartsAttack = Yes InitiateSound = BlackLotusVoiceHackCash End Behavior = SpecialAbilityUpdate ModuleTag_13 SpecialPowerTemplate = SpecialAbilityBlackLotusStealCashHack StartAbilityRange = 150.0 UnpackTime = 6730 ;animation time is 6730 (changing this will scale anim speed) PackTime = 5800 ;animation time is 5800 (changing this will scale anim speed) PreparationTime = 6000 ;time to complete hack once prepared (unpacked) EffectValue = 1000 ;amount of cash stolen SpecialObject = BinaryDataStream PackSound = BlackLotusPack UnpackSound = BlackLotusUnpack TriggerSound = BlackLotusTrigger PrepSoundLoop = BlackLotusPrepLoop AwardXPForTriggering = 20 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End ;Hero units can't be squished! ;Behavior = SquishCollide ModuleTag_14 ; ;nothing ;End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_BlackLotusDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_BlackLotusDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireFemale OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinFemale OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinFemale OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_17 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Nuke_ChinaInfantryTankHunter ; *** ART Parameters *** SelectPortrait = SNTankHunter_L ButtonImage = SNTankHunter UpgradeCameo1 = Upgrade_Nationalism ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = NIMSST_SKN IdleAnimation = NIMSST_SKL.NIMSST_STA 0 30 IdleAnimation = NIMSST_SKL.NIMSST_IDA IdleAnimation = NIMSST_SKL.NIMSST_IDB AnimationMode = ONCE AnimationSpeedFactorRange = 0.8 1.2 TransitionKey = TRANS_Stand WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = PRIMARY Muzzle WeaponLaunchBone = PRIMARY Muzzle WeaponLaunchBone = SECONDARY Muzzle End AliasConditionState = REALLYDAMAGED ConditionState = FIRING_A Animation = NIMSST_SKL.NIMSST_ATA AnimationMode = ONCE TransitionKey = TRANS_START_FIRING End AliasConditionState = REALLYDAMAGED FIRING_A ConditionState = BETWEEN_FIRING_SHOTS_A Animation = NIMSST_SKL.NIMSST_STA AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_START_FIRING End AliasConditionState = REALLYDAMAGED BETWEEN_FIRING_SHOTS_A ConditionState = MOVING Animation = NIMSST_SKL.NIMSST_RNA 20 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = REALLYDAMAGED MOVING AliasConditionState = MOVING ATTACKING AliasConditionState = MOVING ATTACKING REALLYDAMAGED ConditionState = RELOADING_A Animation = NIMSST_SKL.NIMSST_ATA 10 AnimationMode = ONCE ;WeaponLaunchBone = PRIMARY WeaponA End AliasConditionState = MOVING RELOADING_A AliasConditionState = REALLYDAMAGED MOVING RELOADING_A ConditionState = DYING Animation = NIMSST_SKL.NIMSST_DTA Animation = NIMSST_SKL.NIMSST_DTB AnimationSpeedFactorRange = 0.9 1.25 AnimationMode = ONCE TransitionKey = TRANS_Dying End AliasConditionState = DYING RUBBLE TransitionState = TRANS_Dying TRANS_Flailing Animation = NIMSST_SKL.NIMSST_ADTD1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = NIMSST_SKL.NIMSST_ADTD2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = NIMSST_SKL.NIMSST_ADTD3 AnimationMode = ONCE TransitionKey = None End ;PARACHUTING ANIMATIONS ConditionState = FREEFALL Animation = NIMSST_SKL.NIMSST_POP AnimationMode = ONCE TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = NIMSST_SKL.NIMSST_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING ; TransitionState = TRANS_Falling TRANS_Chute ; Animation = NIMSST_SKL.NIMSST_POP ; AnimationMode = ONCE ; Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first ; End TransitionState = TRANS_Chute TRANS_Stand Animation = NIMSST_SKL.NIMSST_PDN AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:TankHunter Side = ChinaNukeGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY ChinaInfantryTankHunterMissileLauncher End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 400 Prerequisites Object = Nuke_ChinaBarracks End BuildCost = 350 BuildTime = 7.0 ;in seconds ExperienceValue = 20 20 40 60 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ChinaInfantryTankHunterCommandSet ; *** AUDIO Parameters *** VoiceSelect = TankHunterVoiceSelect VoiceMove = TankHunterVoiceMove VoiceAttack = TankHunterVoiceAttack VoiceAttackAir = TankHunterVoiceAttack VoiceGuard = TankHunterVoiceMove VoiceFear = TankHunterVoiceFear UnitSpecificSounds VoiceCreate = TankHunterVoiceCreate VoiceGarrison = TankHunterVoiceGarrison VoiceEnter = TankHunterVoiceMove VoiceEnterHostile = TankHunterVoiceMove VoiceGetHealed = TankHunterVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL MissileDefenderLocomotor Behavior = HordeUpdate ModuleTag_04 UpdateRate = 1000 ; how often to recheck horde status (msec) RubOffRadius = 60 ; if I am this close to a real hordesman, I will get to be an honorary hordesman Radius = 30 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) KindOf = INFANTRY ; what KindOf's must match to count towards horde-ness AlliesOnly = Yes ; do we only count allies towards horde status? ExactMatch = No ; do we only count units of our exact same type towards horde status? (overrides kindof) Count = 5 ; how many units must be within Radius to grant us horde-ness Action = HORDE ; when horde-ing, grant us the HORDE bonus End Behavior = PhysicsBehavior ModuleTag_05 Mass = 5.0 End Behavior = SpecialAbility ModuleTag_07 SpecialPowerTemplate = SpecialAbilityTankHunterTNTAttack UpdateModuleStartsAttack = Yes InitiateSound = TankHunterVoiceTNT End Behavior = SpecialAbilityUpdate ModuleTag_08 SpecialPowerTemplate = SpecialAbilityTankHunterTNTAttack StartAbilityRange = 5.0 PreparationTime = 0 SpecialObject = TNTStickyBomb MaxSpecialObjects = 8 SpecialObjectsPersistWhenOwnerDies = Yes ;Charges are removed instantly when owner dies (nobody can detonate). SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability End Behavior = SquishCollide ModuleTag_09 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TankHunterDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TankHunterDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireChina OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_12 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Nuke_ChinaInfantryHacker ; *** ART Parameters *** SelectPortrait = SNHacker2_L ButtonImage = SNHacker2 ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;NORMAL STANDING DefaultConditionState Model = NIHCKR_SKN IdleAnimation = NIHCKR_SKL.NIHCKR_STA 0 25 ;Regular spice animations IdleAnimation = NIHCKR_SKL.NIHCKR_IDA IdleAnimation = NIHCKR_SKL.NIHCKR_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Bone_SatCom TransitionKey = TRANS_Stand End AliasConditionState = REALLYDAMAGED ConditionState = MOVING Animation = NIHCKR_SKL.NIHCKR_RNA 14 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING UNPACKING AliasConditionState = MOVING UNPACKING REALLYDAMAGED ConditionState = UNPACKING Animation = NIHCKR_SKL.NIHCKR_ATB1 AnimationMode = ONCE End AliasConditionState = UNPACKING FIRING_A AliasConditionState = UNPACKING REALLYDAMAGED AliasConditionState = UNPACKING FIRING_A REALLYDAMAGED ;HACKING ATTACK ConditionState = FIRING_A Animation = NIHCKR_SKL.NIHCKR_ATB2 AnimationMode = LOOP TransitionKey = TRANS_FiringA End AliasConditionState = FIRING_A REALLYDAMAGED ConditionState = PACKING Animation = NIHCKR_SKL.NIHCKR_ATB3 AnimationMode = ONCE End AliasConditionState = PACKING FIRING_A AliasConditionState = PACKING REALLYDAMAGED AliasConditionState = PACKING FIRING_A REALLYDAMAGED TransitionState = TRANS_FiringA TRANS_Stand ; I was stopped by a stop command, so I get no proper PACKING state Animation = NIHCKR_SKL.NIHCKR_ATB3 AnimationMode = ONCE End ConditionState = FREEFALL Animation = NIHCKR_SKL.NIHCKR_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = NIHCKR_SKL.NIHCKR_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING ConditionState = DYING Animation = NIHCKR_SKL.NIHCKR_DTA Animation = NIHCKR_SKL.NIHCKR_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = NIHCKR_SKL.NIHCKR_ADTG1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = NIHCKR_SKL.NIHCKR_ADTG2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = NIHCKR_SKL.NIHCKR_ADTG3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = NIHCKR_SKL.NIHCKR_CHA AnimationMode = LOOP End TransitionState = TRANS_Falling TRANS_Chute Animation = NIHCKR_SKL.NIHCKR_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = NIHCKR_SKL.NIHCKR_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Hacker Side = ChinaNukeGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Nuke_ChinaBarracks Object = Nuke_ChinaPropagandaCenter End BuildCost = 625 BuildTime = 20.0 ;in seconds ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 100 300 500 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Nuke_ChinaInfantryHackerCommandSet ; *** AUDIO Parameters *** VoiceSelect = HackerVoiceSelect VoiceMove = HackerVoiceMove VoiceAttack = NoSound VoiceGuard = HackerVoiceMove VoiceFear = HackerVoiceFear VoiceTaskComplete = HackerVoiceHackComplete UnitSpecificSounds VoiceGarrison = HackerVoiceGarrison VoiceCreate = HackerVoiceCreate UnitPack = HackerPack UnitUnpack = HackerUnpack UnitCashPing = HackerCashPing VoiceEnter = HackerVoiceMove VoiceEnterHostile = HackerVoiceMove VoiceGetHealed = HackerVoiceMove VoiceHackInternet = HackerVoiceModeInternet End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE IGNORES_SELECT_ALL MONEY_HACKER Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = HackInternetAIUpdate ModuleTag_03 UnpackTime = 7300 ;animation time is 7300 (changing this will scale anim speed) PackTime = 5133 ;animation time is 5133 (changing this will scale anim speed) CashUpdateDelay = 2000 CashUpdateDelayFast = 1800 ; Fast speed used inside a container (can only hack inside an Internet Center) RegularCashAmount = 5 VeteranCashAmount = 6 EliteCashAmount = 8 HeroicCashAmount = 10 XpPerCashUpdate = 1 PackUnpackVariationFactor = 0.5 ;Adds + or - 20% to pack and unpack time randomly. End Locomotor = SET_NORMAL BasicHumanLocomotor Behavior = SpecialAbility ModuleTag_04 SpecialPowerTemplate = SpecialAbilityHackerDisableBuilding UpdateModuleStartsAttack = Yes InitiateSound = HackerVoiceHack End Behavior = SpecialAbilityUpdate ModuleTag_05 SpecialPowerTemplate = SpecialAbilityHackerDisableBuilding StartAbilityRange = 150.0 UnpackTime = 7300 ;animation time is 7300 (changing this will scale anim speed) PackTime = 5133 ;animation time is 5133 (changing this will scale anim speed) PreparationTime = 3000 ;PersistentPrepTime = 500 ; old setting PersistentPrepTime = 333 ; NOTE! This drives how often the disable effect gets triggered ; This is also how often a new particle system effect is spawned EffectDuration = 2000 SpecialObject = BinaryDataStream DisableFXParticleSystem = DisabledEffectBinaryShower0 PackSound = HackerPack UnpackSound = HackerUnpack PrepSoundLoop = HackerPrepLoop AwardXPForTriggering = 0 ;Careful, this is persistant so it's a DoT xp gain! ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = SquishCollide ModuleTag_08 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_HackerDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_HackerDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireChina OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_11 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;China Dragon Tank Object Nuke_ChinaTankDragon ; *** ART Parameters *** SelectPortrait = SNDragonTank_L ButtonImage = SNDragonTank UpgradeCameo1 = Upgrade_ChinaBlackNapalm ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = NVDragon Turret = Turret TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ConditionState = REALLYDAMAGED Model = NVDragon_D Turret = Turret TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ConditionState = RUBBLE Model = NVDragon_D Turret = Turret TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. End ; ***DESIGN parameters *** DisplayName = OBJECT:Dragon Side = ChinaNukeGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY DragonTankFlameWeapon Weapon = SECONDARY DragonTankFireWallWeapon AutoChooseSources = SECONDARY NONE End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY DragonTankFlameWeaponUpgraded Weapon = SECONDARY DragonTankFireWallWeaponUpgraded AutoChooseSources = SECONDARY NONE WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock End ArmorSet Conditions = None Armor = DragonTankArmor DamageFX = TankDamageFX End BuildCost = 800 BuildTime = 10.0 ;in seconds VisionRange = 100 ShroudClearingRange = 200 Prerequisites Object = Nuke_ChinaWarFactory End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ChinaTankDragonCommandSet ; *** AUDIO Parameters *** VoiceSelect = DragonTankVoiceSelect VoiceMove = DragonTankVoiceMove VoiceGuard = DragonTankVoiceMove VoiceAttack = DragonTankVoiceAttack SoundMoveStart = DragonTankMoveStart SoundMoveStartDamaged = DragonTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = DragonTankVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop VoiceEnter = DragonTankVoiceMove VoiceFlameLocation = DragonTankVoiceFireStorm End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 280.0 InitialHealth = 280.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 560 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 120 TurretPitchRate = 120 AllowsPitch = Yes MinPhysicalPitch = -15 TurretFireAngleSweep = PRIMARY 10 TurretFireAngleSweep = SECONDARY 60 TurretSweepSpeedModifier = PRIMARY 0.5 ; Sweep slower than you turn (aim for 30 for art) TurretSweepSpeedModifier = SECONDARY 2.0 ; Sweep faster than you turn ControlledWeaponSlots = PRIMARY SECONDARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL DragonLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = WeaponSetUpgrade ModuleTag_05 TriggeredBy = Upgrade_ChinaBlackNapalm End ; A crushing defeat Behavior = DestroyDie ModuleTag_06 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_07 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_08 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_09 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End ; just explode death Behavior = SlowDeathBehavior ModuleTag_10 DeathTypes = ALL -CRUSHED -SPLATTED ; ProbabilityModifier = 33 DestructionDelay = 500 DestructionDelayVariance = 500 FX = INITIAL FX_BattleMasterExplosionOneFinal OCL = FINAL OCL_DragonDebris FX = FINAL FX_DragonTankDeathExplosionFinal End ; Catch fire, and explode death ; Behavior = SlowDeathBehavior ; DeathTypes = ALL -CRUSHED -SPLATTED ;; ProbabilityModifier = 33 ; DestructionDelay = 2000 ; DestructionDelayVariance = 300 ; FX = INITIAL FX_CrusaderCatchFire ; OCL = FINAL OCL_DragonDebris ; FX = FINAL FX_GenericTankDeathExplosion ; End ; Napalm spills out, and explode death ; Behavior = SlowDeathBehavior ; DeathTypes = ALL -CRUSHED -SPLATTED ;; ProbabilityModifier = 34 ; DestructionDelay = 2000 ; DestructionDelayVariance = 300 ; FX = INITIAL FX_DragonNapalmSpill ; OCL = FINAL OCL_DragonDebris ; FX = FINAL FX_DragonTankDeathExplosionFinal ; End ; Turret fly off death ; Behavior = SlowDeathBehavior ; DeathTypes = ALL -CRUSHED -SPLATTED ;; ProbabilityModifier = 25 ; DestructionDelay = 500 ; DestructionDelayVariance = 100 ; FX = INITIAL FX_GenericTankDeathEffect ; OCL = MIDPOINT OCL_DragonDebris ; FX = FINAL FX_GenericTankDeathExplosionFinal ; End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_13 ; ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedParticleSystem2 = Bone:Smoke RandomBone:Yes Psys:DragonTransitionFire ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_DragonDamageTransition End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 11.0 ; Height set to allow clear clipping of projectile stream GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Nuke_ChinaVehicleTroopCrawler ; *** ART Parameters *** SelectPortrait = SNTransport_L ButtonImage = SNTransport ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = NVTCrawler ;note, the IRSonar particle system is added in StealthDetectorUpdate.cpp, not here End ConditionState = REALLYDAMAGED RUBBLE ; THIS IS VERY IMPORTANT... DO NOT REMOVE 'RUBBLE' ; @todo find out why a non-animating model like this has such trouble matching ; reallydamaged against moving against rubble, etc. Model = NVTCrawler_D End TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray ; PowerslideSpray = RocketBuggyDirtPowerSlide doesn't powerslide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Wheel01 RightFrontTireBone = Wheel08 LeftRearTireBone = Wheel03 RightRearTireBone = Wheel05 MidLeftFrontTireBone = Wheel02 MidRightFrontTireBone = Wheel07 MidLeftRearTireBone = Wheel04 MidRightRearTireBone = Wheel06 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. End ; ***DESIGN parameters *** DisplayName = OBJECT:TroopCrawler Side = ChinaNukeGeneral EditorSorting = VEHICLE TransportSlotCount = 8 ;Just enough to fit into a Chinook. WeaponSet Conditions = None Weapon = PRIMARY TroopCrawlerAssault End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End BuildCost = 1400 BuildTime = 15.0 ;in seconds VisionRange = 175 ;Needs to see farther and match it's weapon range -- else troop crawlers will get slaughtered against tanks! ShroudClearingRange = 400 Prerequisites Object = Nuke_ChinaWarFactory End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ChinaTroopCrawlerCommandSet ; *** AUDIO Parameters *** VoiceSelect = TroopCrawlerVoiceSelect VoiceMove = TroopCrawlerVoiceMove VoiceGuard = TroopCrawlerVoiceMove VoiceAttack = TroopCrawlerVoiceAttack SoundMoveStart = TroopCrawlerMoveStart SoundMoveStartDamaged = TroopCrawlerMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = TroopCrawlerVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = NoSound ;RocketBuggyLand TruckPowerslideSound = NoSound ;RocketBuggyPowerslide VoiceCrush = TroopCrawlerVoiceCrush VoiceUnload = TroopCrawlerVoiceUnload VoiceEnter = TroopCrawlerVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS TRANSPORT VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = StealthDetectorUpdate ModuleTag_03 DetectionRate = 900 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. PingSound = IRPing LoudPingSound = IRPingLoud IRParticleSysName = IRDetectSonar IRBrightParticleSysName = IRDetectSonarBright IRGridParticleSysName = IRDetectGrid IRBeaconParticleSysName = IRLenzflare IRParticleSysBone = IRFX End ;OBSOLETE ; Behavior = AIUpdateInterface ModuleTag_04 ; Turret ; ControlledWeaponSlots = PRIMARY ; End ; End Behavior = AssaultTransportAIUpdate ModuleTag_NewAI MembersGetHealedAtLifeRatio = 0.5 End Locomotor = SET_NORMAL TroopCrawlerLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 End Behavior = TransportContain ModuleTag_06 Slots = 8 InitialPayload = Nuke_ChinaInfantryRedguard 8 ScatterNearbyOnExit = No HealthRegen%PerSec = 10 DamagePercentToUnits = 10% AllowInsideKindOf = INFANTRY ExitDelay = 250 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting End Behavior = SlowDeathBehavior ModuleTag_07 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 1 FX = FINAL FX_SupplyTruckExplosionOneFinal OCL = FINAL OCL_FinalTroopCrawlerDebris End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition End Behavior = DestroyDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End ; A crushing defeat Behavior = FXListDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_12 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 22.0 GeometryMinorRadius = 9.0 GeometryHeight = 13.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Nuke_ChinaVehicleInfernoCannon ; *** ART Parameters *** SelectPortrait = SNInferno_L ButtonImage = SNInferno UpgradeCameo1 = Upgrade_ChinaBlackNapalm ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = NVInferno Turret = Turret TurretPitch = TurretEL WeaponFireFXBone = PRIMARY Muzzle WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponLaunchBone = PRIMARY Muzzle End ConditionState = RUBBLE REALLYDAMAGED Model = NVInferno_D Turret = Turret TurretPitch = TurretEL WeaponFireFXBone = PRIMARY Muzzle WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponLaunchBone = PRIMARY Muzzle End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:InfernoCannon Side = ChinaNukeGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY InfernoCannonGun End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY InfernoCannonGunUpgraded End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End BuildCost = 900 BuildTime = 15.0 ;in seconds VisionRange = 180 ShroudClearingRange = 300 Prerequisites Object = Nuke_ChinaWarFactory Object = Nuke_ChinaPropagandaCenter End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ChinaVehicleInfernoCannonCommandSet ; *** AUDIO Parameters *** VoiceSelect = InfernoCannonVoiceSelect VoiceMove = InfernoCannonVoiceMove VoiceGuard = InfernoCannonVoiceMove VoiceAttack = InfernoCannonVoiceAttack SoundMoveStart = InfernoCannonMoveStart SoundMoveStartDamaged = InfernoCannonMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = InfernoCannonVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = NoSound VoiceCrush = InfernoCannonVoiceCrush VoiceEnter = InfernoCannonVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 240 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = VeterancyGainCreate ModuleTag_03 StartingLevel = VETERAN ScienceRequired = SCIENCE_ArtilleryTraining End Behavior = AIUpdateInterface ModuleTag_04 Turret TurretTurnRate = 100 TurretPitchRate = 100 AllowsPitch = Yes FirePitch = 45 ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = No NotWhileAttacking End Locomotor = SET_NORMAL InfernoLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 End ; A crushing defeat Behavior = FXListDie ModuleTag_06 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_07 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = SlowDeathBehavior ModuleTag_08 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_InfernoCannonDeathEffect End Behavior = TransitionDamageFX ModuleTag_09 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:-7 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = CreateCrateDie ModuleTag_10 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = WeaponSetUpgrade ModuleTag_11 TriggeredBy = Upgrade_ChinaBlackNapalm End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = DestroyDie ModuleTag_22 DeathTypes = NONE +CRUSHED +SPLATTED End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 15.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;Also called NukeCannon Object Nuke_ChinaVehicleNukeLauncher ; *** ART Parameters *** SelectPortrait = SNNukeCannon_L ButtonImage = SNNukeCannon UpgradeCameo1 = Upgrade_ChinaNeutronShells ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 InitialRecoilSpeed = 120 MaxRecoilDistance = 8 RecoilSettleSpeed = 6 OkToChangeModelColor = Yes ExtraPublicBone = Turret01 DefaultConditionState Model = NVNukeCn WeaponLaunchBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = PRIMARY Muzzle WeaponRecoilBone = PRIMARY Barrel WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponRecoilBone = SECONDARY Barrel HideSubObject = TURRET01 ;Hide controlled turret ShowSubObject = TURRETFRONT TURRETBACK ;Show pack/unpack animated turret Turret = Turret01 TurretPitch = TurretEL End ConditionState = RUBBLE Model = NVNukeCn_D1 WeaponLaunchBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponRecoilBone = PRIMARY Barrel WeaponLaunchBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponRecoilBone = SECONDARY Barrel HideSubObject = TURRET01 ;Hide controlled turret ShowSubObject = TURRETFRONT TURRETBACK ;Show pack/unpack animated turret Turret = Turret01 TurretPitch = TurretEL End ;*** PACKED STATE -- ready to move *** ConditionState = MOVING Animation = NVNukeCn.NVNukeCn AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A ;Very long shot delay -- possibly moving AliasConditionState = BETWEEN_FIRING_SHOTS_A ;*** ConditionState = REALLYDAMAGED MOVING Model = NVNukeCn_D Animation = NVNukeCn_D.NVNukeCn_D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End AliasConditionState = REALLYDAMAGED MOVING BETWEEN_FIRING_SHOTS_A ;Very long shot delay -- possibly moving ;*** UNPACKING STATE -- preparing to fire *** ConditionState = UNPACKING Animation = NVNukeCn.NVNukeCn AnimationMode = ONCE End AliasConditionState = UNPACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay ;*** ConditionState = REALLYDAMAGED UNPACKING Model = NVNukeCn_D Animation = NVNukeCn_D.NVNukeCn_D AnimationMode = ONCE End AliasConditionState = REALLYDAMAGED UNPACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay ;*** PACKING STATE -- preparing to move *** ConditionState = PACKING Animation = NVNukeCn.NVNukeCn AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = PACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay ;*** ConditionState = REALLYDAMAGED PACKING Model = NVNukeCn_D Animation = NVNukeCn_D.NVNukeCn_D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = REALLYDAMAGED PACKING BETWEEN_FIRING_SHOTS_A ;Very long shot delay ;*** DEPLOYED STATE -- ready to fire *** ConditionState = DEPLOYED Animation = NVNukeCn.NVNukeCn AnimationMode = ONCE Flags = START_FRAME_LAST TransitionKey = TRANS_FIRING_A HideSubObject = TURRETFRONT TURRETBACK ;Hide pack/unpack animated turret ShowSubObject = TURRET01 ;Show controlled turret End AliasConditionState = DEPLOYED FIRING_A AliasConditionState = DEPLOYED BETWEEN_FIRING_SHOTS_A AliasConditionState = DEPLOYED RELOADING_A AliasConditionState = DEPLOYED MOVING ConditionState = DEPLOYED REALLYDAMAGED Model = NVNukeCn_D Animation = NVNukeCn_D.NVNukeCn_D AnimationMode = ONCE Flags = START_FRAME_LAST TransitionKey = TRANS_FIRING_A HideSubObject = TURRETFRONT TURRETBACK ;Hide pack/unpack animated turret ShowSubObject = TURRET01 ;Show controlled turret End AliasConditionState = DEPLOYED REALLYDAMAGED FIRING_A AliasConditionState = DEPLOYED REALLYDAMAGED BETWEEN_FIRING_SHOTS_A AliasConditionState = DEPLOYED REALLYDAMAGED RELOADING_A AliasConditionState = DEPLOYED REALLYDAMAGED MOVING TrackMarks = EXTnkTrack.tga TreadAnimationRate = 4.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:NukeLauncher Side = ChinaNukeGeneral EditorSorting = VEHICLE TransportSlotCount = 10 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY NukeCannonGun Weapon = SECONDARY NukeCannonNeutronWeapon AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI ShareWeaponReloadTime = Yes End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End BuildCost = 1600 BuildTime = 20.0 ;in seconds VisionRange = 180 ShroudClearingRange = 350 Prerequisites Object = Nuke_ChinaWarFactory Object = Nuke_ChinaPropagandaCenter End ExperienceValue = 50 100 200 400 ;Experience point value at each level ExperienceRequired = 0 400 600 1000 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ChinaVehicleNukeCannonCommandSet ; *** AUDIO Parameters *** VoiceSelect = NukeCannonVoiceSelect VoiceMove = NukeCannonVoiceMove VoiceGuard = NukeCannonVoiceMove VoiceAttack = NukeCannonVoiceAttack SoundMoveStart = NukeCannonMoveStart SoundMoveStartDamaged = NukeCannonMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = NukeCannonVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = NukeCannonTurretMoveLoop VoiceEnter = NukeCannonVoiceMove Deploy = NukeCannonDeploy Undeploy = NukeCannonUnDeploy End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = VeterancyGainCreate ModuleTag_03 StartingLevel = VETERAN ScienceRequired = SCIENCE_ArtilleryTraining End Behavior = DeployStyleAIUpdate ModuleTag_04 Turret TurretTurnRate = 80 TurretPitchRate = 80 FirePitch = 0 ; Instead of aiming pitchwise at the target, it will aim here AllowsPitch = Yes RecenterTime = 5000 ; how long to wait during idle before recentering ControlledWeaponSlots = PRIMARY SECONDARY NaturalTurretAngle = 0 InitiallyDisabled = Yes End AutoAcquireEnemiesWhenIdle = No PackTime = 3333 UnpackTime = 3333 TurretsFunctionOnlyWhenDeployed = Yes TurretsMustCenterBeforePacking = Yes ManualDeployAnimations = Yes End Locomotor = SET_NORMAL ChinaNukeCannonLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 End Behavior = SlowDeathBehavior ModuleTag_06 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_BattleMasterExplosionOneFinal OCL = INITIAL OCL_RadiationFieldSmall OCL = MIDPOINT OCL_ChinaVehicleNukeCannonDie OCL = FINAL OCL_RadiationFieldSmall FX = FINAL FX_ChinaVehicleNukeCannonDeathExplosion End ; A crushing defeat Behavior = FXListDie ModuleTag_07 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_08 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_09 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_10 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition End Behavior = DestroyDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = ProductionUpdate ModuleTag_12 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Geometry = BOX GeometryMajorRadius = 32.0 GeometryMinorRadius = 10.0 GeometryHeight = 17.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Nuke_ChinaTankGattling ; *** ART Parameters *** SelectPortrait = SNGatlingTank_L ButtonImage = SNGatlingTank ;UpgradeCameo1 = Upgrade_Nationalism UpgradeCameo1 = Upgrade_ChinaChainGuns ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = NVGattTank Animation = NVGattTank.NVGattTank AnimationMode = MANUAL Turret = TURRET01 TurretPitch = TURRETEL01 WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle End ConditionState = REALLYDAMAGED RUBBLE Model = NVGattTank_D End ;-----pristine attacking---------------------- ConditionState = ATTACKING Model = NVGattTank Animation = NVGattTank.NVGattTank AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_SLOW ATTACKING Model = NVGattTank Animation = NVGattTank.NVGattTank AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_MEAN ATTACKING Model = NVGattTank Animation = NVGattTank.NVGattTank AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_FAST ATTACKING Model = NVGattTank Animation = NVGattTank.NVGattTank AnimationMode = LOOP ParticleSysBone = Muzzle01 GattlingMuzzleSmoke AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst End ;-----damaged attacking---------------------- ConditionState REALLYDAMAGED ATTACKING Model = NVGattTank_D Animation = NVGattTank_D.NVGattTank_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate extemely sloowly End ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED ATTACKING Model = NVGattTank_D Animation = NVGattTank_D.NVGattTank_D AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED ATTACKING Model = NVGattTank_D Animation = NVGattTank_D.NVGattTank_D AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED ATTACKING Model = NVGattTank_D Animation = NVGattTank_D.NVGattTank_D AnimationMode = LOOP ParticleSysBone = Muzzle01 GattlingMuzzleSmoke AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. End ; ***DESIGN parameters *** DisplayName = OBJECT:GattlingTank Side = ChinaNukeGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GattlingTankGun PreferredAgainst = PRIMARY AIRCRAFT Weapon = SECONDARY GattlingTankGunAir End ArmorSet Conditions = None Armor = AntiAirVehicle DamageFX = TankDamageFX End BuildCost = 800 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 360 Prerequisites Object = Nuke_ChinaWarFactory End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 80 200 300 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ChinaVehicleGattlingTankCommandSet ; *** AUDIO Parameters *** VoiceSelect = GattlingTankVoiceSelect VoiceMove = GattlingTankVoiceMove VoiceGuard = GattlingTankVoiceMove VoiceAttack = GattlingTankVoiceAttack SoundMoveStart = GattlingTankMoveStart SoundMoveStartDamaged = GattlingTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = GattlingTankVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoopLoud VoiceCrush = GattlingTankVoiceCrush VoiceEnter = GattlingTankVoiceMove VoiceRapidFire = GattlingTankVoiceRapid End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 600 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY SECONDARY TurretTurnRate = 180 // turn rate, in degrees per sec TurretPitchRate = 180 AllowsPitch = Yes FiresWhileTurning = Yes NaturalTurretPitch = 45 ; this keeps it aimed half way between land and sky ; since you never know from whence cometh danger End AutoAcquireEnemiesWhenIdle = Yes MoodAttackCheckRate = 250 End Locomotor = SET_NORMAL GattlingTankLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 40.0 End ; Behavior = DestroyDie ; ;nothing ; End ; Just explode death Behavior = SlowDeathBehavior ModuleTag_05 ProbabilityModifier = 19 DestructionDelay = 200 DestructionDelayVariance = 100 SinkRate = 0.5 ; in Dist/Sec OCL = FINAL OCL_ChinaTankGattlingDebris FX = FINAL FX_GattlingExplosionOneFinal End Behavior = CreateCrateDie ModuleTag_06 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_07 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = WeaponBonusUpgrade ModuleTag_22 TriggeredBy = Upgrade_ChinaChainGuns End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 15.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;China Supply Truck Object Nuke_ChinaVehicleSupplyTruck ; *** ART Parameters *** SelectPortrait = SNSupplyTruck_L ButtonImage = SNSupplyTruck ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = NVSSUPPLYTK HideSubObject = Cargo01 End ConditionState = REALLYDAMAGED Model = NVSSUPPLYTK_D End ConditionState = RUBBLE Model = NVSSUPPLYTK_D End ConditionState = CARRYING ShowSubObject = Cargo01 End ConditionState = REALLYDAMAGED CARRYING Model = NVSSUPPLYTK_D ShowSubObject = Cargo01 End ConditionState = RUBBLE CARRYING Model = NVSSUPPLYTK_D ShowSubObject = Cargo01 End TrackMarks = EXTireTrack.tga LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 MidLeftRearTireBone = Tire03 MidRightRearTireBone = Tire04 LeftRearTireBone = Tire05 RightRearTireBone = Tire06 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide End ; ***DESIGN parameters *** DisplayName = OBJECT:SupplyTruck Side = ChinaNukeGeneral EditorSorting = VEHICLE TransportSlotCount = 2 ;how many "slots" we take in a transport (0 == not transportable) BuildCost = 600 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Nuke_ChinaSupplyCenter End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ChinaSupplyTruckCommandSet ; *** AUDIO Parameters *** VoiceSelect = SupplyTruckVoiceSelect VoiceMove = SupplyTruckVoiceMove VoiceAttack = NoSound SoundMoveStart = SupplyTruckMoveStart SoundMoveStartDamaged = SupplyTruckMoveStart UnitSpecificSounds VoiceCreate = SupplyTruckVoiceCreate TruckLandingSound = NoSound TruckPowerslideSound = NoSound VoiceSupply = SupplyTruckVoiceSupply VoiceCrush = SupplyTruckVoiceCrush VoiceEnter = SupplyTruckVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT ;@todo lorenzen removed the CAN_ATTACK from the chinasupplytruck... ok? KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE HARVESTER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 600 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = SupplyTruckAIUpdate ModuleTag_03 MaxBoxes = 4 SupplyCenterActionDelay = 400 ; ms for whole thing (one transaction) SupplyWarehouseActionDelay = 1000 ; ms per box (many small transactions) SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan) SuppliesDepletedVoice = SupplyTruckVoiceSuppliesDepleted End Locomotor = SET_NORMAL SupplyTruckLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End ExperienceValue = 50 50 50 50 ;Experience point value at each level Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 200 DestructionDelayVariance = 100 FX = FINAL FX_SupplyTruckExplosionOneFinal OCL = FINAL OCL_ChinaSupplyTruckDeathEffect End Behavior = FXListDie ModuleTag_06 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_07 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_ChinaSupplyTruck_CrushEffect End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition End Behavior = FlammableUpdate ModuleTag_10 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End ; A crushing defeat Behavior = DestroyDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = CreateCrateDie ModuleTag_12 CrateData = SalvageCrateData End Geometry = BOX GeometryMajorRadius = 17.0 GeometryMinorRadius = 7.0 GeometryHeight = 14.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;China Construction Dozer Object Nuke_ChinaVehicleDozer ; *** ART Parameters *** SelectPortrait = SNDozer_L ButtonImage = SNDozer ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = NVCONSTDOZ_A ParticleSysBone = EXHAUST01 DozerSmokeLight End ConditionState = MOVING ParticleSysBone = EXHAUST01 DozerSmokeHeavy End ConditionState = FIRING_A MOVING PREATTACK_A Model = NVCONSTDOZ_A Animation = NVCONSTDOZ_A.NVCONSTDOZ_A AnimationMode = ONCE ParticleSysBone = EXHAUST01 DozerSmokeHeavy ParticleSysBone = DIRTFX01 DozerDirtFall End AliasConditionState = ATTACKING FIRING_A MOVING ConditionState = REALLYDAMAGED RUBBLE Model = NVCONSTDOZ_AD End ConditionState = MOVING REALLYDAMAGED RUBBLE Model = NVCONSTDOZ_AD ParticleSysBone = EXHAUST01 DozerSmokeHeavy End ConditionState = FIRING_A MOVING PREATTACK_A REALLYDAMAGED RUBBLE Model = NVCONSTDOZ_AD Animation = NVCONSTDOZ_AD.NVCONSTDOZ_AD AnimationMode = ONCE ParticleSysBone = EXHAUST01 DozerSmokeHeavy ParticleSysBone = DIRTFX01 DozerDirtFall End AliasConditionState = ATTACKING FIRING_A MOVING REALLYDAMAGED RUBBLE TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:Dozer Side = ChinaNukeGeneral EditorSorting = VEHICLE TransportSlotCount = 5 ;how many "slots" we take in a transport (0 == not transportable) BuildCost = 1000 BuildTime = 5.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 WeaponSet Conditions = None Weapon = PRIMARY None End WeaponSet Conditions = MINE_CLEARING_DETAIL Weapon = PRIMARY DozerMineDisarmingWeapon End ArmorSet Conditions = None Armor = DozerArmor ;Special Explosion-Proof Armor DamageFX = TankDamageFX End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Nuke_ChinaDozerCommandSet ; *** AUDIO Parameters *** VoiceSelect = DozerChinaVoiceSelect VoiceMove = DozerChinaVoiceMove VoiceEnter = DozerChinaVoiceMove VoiceTaskComplete = DozerChinaVoiceBuildComplete SoundMoveStart = DozerChinaMoveStart SoundMoveStartDamaged = DozerChinaMoveStart UnitSpecificSounds VoiceCreate = DozerChinaVoiceCreate VoiceCrush = DozerChinaVoiceCrush VoiceNoBuild = DozerChinaVoiceBuildNot VoiceRepair = DozerChinaVoiceRepair VoiceDisarm = DozerChinaVoiceClearMine VoiceEnter = DozerChinaVoiceMove VoiceBuildResponse = DozerChinaVoiceBuild End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DOZER Body = ActiveBody ModuleTag_02 MaxHealth = 250.0 InitialHealth = 250.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 500 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = DozerAIUpdate ModuleTag_03 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second BoredTime = 5000 ; in milliseconds BoredRange = 150 ; when bored, we look this far away to do something ; the only "enemies" that workers can acquire are mines, to be disarmed... AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL ChinaVehicleDozerLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 75.0 End Behavior = StealthDetectorUpdate ModuleTag_05 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. ExtraRequiredKindOf = MINE ; we can only detect MINES, not other stealthed things End Behavior = TransitionDamageFX ModuleTag_06 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_07 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 100 DestructionDelay = 1500 DestructionDelayVariance = 600 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_ChinaDozerExplode FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = CreateCrateDie ModuleTag_09 CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = FXListDie ModuleTag_22 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = DestroyDie ModuleTag_23 DeathTypes = NONE +CRUSHED +SPLATTED End Geometry = BOX GeometryMajorRadius = 17.0;new radius to align mine sweeping position ;GeometryMajorRadius = 21.0;old radius GeometryMinorRadius = 10.0 GeometryHeight = 15.0 GeometryIsSmall = NO Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Nuke_ChinaTankECM ; *** ART Parameters *** SelectPortrait = SNbanshee_L ButtonImage = SNbanshee Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = WEAPONA01 DefaultConditionState Model = NVBANSHEE Turret = TURRET01 End ConditionState = REALLYDAMAGED Model = NVBANSHEE_D End ConditionState = RUBBLE Model = NVBANSHEE_D1 Turret = None End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 4.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:ECMTank Side = ChinaNukeGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY ECMTankVehicleDisabler End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End BuildCost = 800 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 360 Prerequisites Object = Nuke_ChinaWarFactory Object = Nuke_ChinaPropagandaCenter End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ChinaVehicleECMTankCommandSet ; *** AUDIO Parameters *** VoiceSelect = FrequencyJammerVoiceSelect VoiceMove = FrequencyJammerVoiceMove VoiceGuard = FrequencyJammerVoiceMove VoiceAttack = FrequencyJammerVoiceAttack SoundMoveStart = MicrowaveTankMoveStart SoundMoveStartDamaged = MicrowaveTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = FrequencyJammerVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoopLoud VoiceCrush = NoSound VoiceEnter = FrequencyJammerVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 600 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY TurretTurnRate = 180 // turn rate, in degrees per sec FiresWhileTurning = No MinIdleScanInterval = 0 ; in milliseconds MaxIdleScanInterval = 0 ; in milliseconds RecenterTime = 0 MinIdleScanAngle = 180 ; in degrees off the natural turret angle MaxIdleScanAngle = 180 ; in degrees off the natural turret angle End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL GattlingTankLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 40.0 End ; Behavior = DestroyDie ; ;nothing ; End ; Just explode death Behavior = SlowDeathBehavior ModuleTag_05 ProbabilityModifier = 19 DestructionDelay = 200 DestructionDelayVariance = 100 SinkRate = 0.5 ; in Dist/Sec OCL = FINAL OCL_ChinaTankECMDebris FX = FINAL FX_GattlingExplosionOneFinal End Behavior = CreateCrateDie ModuleTag_06 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_07 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = CommandButtonHuntUpdate ModuleTag_22 ; allows use of command button hunt script with this unit. End Behavior = FireWeaponUpdate ModuleTag_23 Weapon = ECMTankMissileJammer ExclusiveWeaponDelay = 1000 ; If we fire a real weapon, we turn this module off for this long End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 15.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Nuke_ChinaVehicleListeningOutpost ; *** ART Parameters *** SelectPortrait = NVLOutpost_L ButtonImage = NVLOutpost Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = IRFX ConditionState = NONE Model = NVLOUTPOST End ConditionState = REALLYDAMAGED Model = NVLOUTPOST_D End ConditionState = RUBBLE Model = NVLOUTPOST_D1 HideSubObject = TURRET01 ;Hide the dish, since an ocl makes an airborne one is slow death behavior End TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray LeftFrontTireBone = TIRE01 RightFrontTireBone = TIRE02 LeftRearTireBone = TIRE03 RightRearTireBone = TIRE04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. End Draw = W3DModelDraw ModuleTag_33 OkToChangeModelColor = Yes ConditionState = NONE Model = NVLOUTPOST_B Animation = NVLOUTPOST_B.NVLOUTPOST_B AnimationMode = LOOP TransitionKey = Trans_Deployed End ConditionState = REALLYDAMAGED Model = NVLOUTPOST_BD Animation = NVLOUTPOST_BD.NVLOUTPOST_BD AnimationMode = LOOP TransitionKey = Trans_Deployed_ReallyDamaged End ConditionState = MOVING Model = NVLOUTPOST_A Animation = NVLOUTPOST_A.NVLOUTPOST_A AnimationMode = LOOP TransitionKey = Trans_Moving End ConditionState = REALLYDAMAGED MOVING Model = NVLOUTPOST_AD Animation = NVLOUTPOST_AD.NVLOUTPOST_AD AnimationMode = LOOP TransitionKey = Trans_Moving_ReallyDamaged End ConditionState = RUBBLE Model = NONE End AliasConditionState = RUBBLE MOVING ;**** PACKING AND UNPACKING MODES *** TransitionState = Trans_Moving Trans_Deployed Model = NVLOUTPOST_C Animation = NVLOUTPOST_C.NVLOUTPOST_C AnimationMode = ONCE End TransitionState = Trans_Moving_ReallyDamaged Trans_Deployed_ReallyDamaged Model = NVLOUTPOST_CD Animation = NVLOUTPOST_CD.NVLOUTPOST_CD AnimationMode = ONCE End TransitionState = Trans_Deployed Trans_Moving Model = NVLOUTPOST_C Animation = NVLOUTPOST_C.NVLOUTPOST_C AnimationMode = ONCE_BACKWARDS End TransitionState = Trans_Deployed_ReallyDamaged Trans_Moving_ReallyDamaged Model = NVLOUTPOST_CD Animation = NVLOUTPOST_CD.NVLOUTPOST_CD AnimationMode = ONCE_BACKWARDS End End ; ***DESIGN parameters *** DisplayName = OBJECT:ListeningOutpost Side = ChinaNukeGeneral EditorSorting = VEHICLE TransportSlotCount = 8 ;Just enough to fit into a Chinook. WeaponSet Conditions = None Weapon = PRIMARY ListeningOutpostUpgradedDummyWeapon End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End BuildCost = 900 BuildTime = 15.0 ;in seconds VisionRange = 250 ShroudClearingRange = 500 Prerequisites Object = Nuke_ChinaWarFactory End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Nuke_ChinaListeningOutpostCommandSet ; *** AUDIO Parameters *** VoiceSelect = ListeningOutpostVoiceSelect VoiceMove = ListeningOutpostVoiceMove VoiceGuard = ListeningOutpostVoiceMove VoiceAttack = ListeningOutpostVoiceAttack SoundMoveStart = RadarVanMoveStart SoundMoveStartDamaged = RadarVanMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = ListeningOutpostVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = NoSound ;RocketBuggyLand TruckPowerslideSound = NoSound ;RocketBuggyPowerslide VoiceCrush = NoSound VoiceUnload = NoSound ; nothing recorded VoiceEnter = ListeningOutpostVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS TRANSPORT VEHICLE SCORE REVEALS_ENEMY_PATHS CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = StealthDetectorUpdate ModuleTag_03 DetectionRate = 900 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 300 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. ; PingSound = IRPing ; LoudPingSound = IRPingLoud ; IRParticleSysName = IRDetectSonar ; IRBrightParticleSysName = IRDetectSonarBright IRGridParticleSysName = IRDetectGrid IRBeaconParticleSysName = IRLenzflare IRParticleSysBone = IRFX End Behavior = AssaultTransportAIUpdate ModuleTag_NewAI MembersGetHealedAtLifeRatio = 0.5 End Behavior = StealthUpdate ModuleTag_04 StealthDelay = 2000 ; msec StealthForbiddenConditions = MOVING RIDERS_ATTACKING FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Locomotor = SET_NORMAL ListeningOutpostLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 90.0 End Behavior = TransportContain ModuleTag_06 PassengersAllowedToFire = Yes Slots = 2 InitialPayload = Nuke_ChinaInfantryTankHunter 2 ScatterNearbyOnExit = No HealthRegen%PerSec = 10 DamagePercentToUnits = 10% AllowInsideKindOf = INFANTRY ExitDelay = 250 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting End Behavior = SlowDeathBehavior ModuleTag_07 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 1789 FX = INITIAL FX_SupplyTruckExplosionOneFinal OCL = INITIAL OCL_InitialListeningOutpostDebris FX = FINAL FX_SupplyTruckExplosionOneFinal OCL = FINAL OCL_FinalListeningOutpostDebris End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_NukeCannonDamageTransition End Behavior = DestroyDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End ; A crushing defeat Behavior = FXListDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_12 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 9.0 GeometryHeight = 13.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Nuke_ChinaCommandCenter ; *** ART Parameters *** ; ------------ the main building itself ----------------- SelectPortrait = SNComCentr_L ButtonImage = SNComCentr Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; DAY ************************************ DefaultConditionState Model = NBConYardNG Animation = NBConYardNG.NBConYardNG AnimationMode = LOOP End ConditionState = DAMAGED Model = NBConYardN_D Animation = NBConYardN_D.NBConYardN_D AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE Model = NBConYardN_E Animation = NBConYardN_E.NBConYardN_E AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ;NIGHT *********************************** ConditionState = NIGHT Model = NBConYardN_N Animation = NBConYardN_N.NBConYardN_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = NBConYardN_DN Animation = NBConYardN_DN.NBConYardN_DN AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBConYardN_EN Animation = NBConYardN_EN.NBConYardN_EN AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ;SNOW ************************************* ConditionState = SNOW Model = NBConYardN_S Animation = NBConYardN_S.NBConYardN_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = NBConYardN_DS Animation = NBConYardN_DS.NBConYardN_DS AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBConYardN_ES Animation = NBConYardN_ES.NBConYardN_ES AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ;NIGHT SNOW ***************************** ConditionState = NIGHT SNOW Model = NBConYardN_NS Animation = NBConYardN_NS.NBConYardN_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = NBConYardN_DNS Animation = NBConYardN_DNS.NBConYardN_DNS AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBConYardN_ENS Animation = NBConYardN_ENS.NBConYardN_ENS AnimationMode = LOOP ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBConYardN Animation = NBConYardN.NBConYardN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBConYardN_D Animation = NBConYardN_D.NBConYardN_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBConYardN_E Animation = NBConYardN_E.NBConYardN_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBConYardN_N Animation = NBConYardN_N.NBConYardN_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBConYardN_DN Animation = NBConYardN_DN.NBConYardN_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBConYardN_EN Animation = NBConYardN_EN.NBConYardN_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBConYardN_S Animation = NBConYardN_S.NBConYardN_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBConYardN_DS Animation = NBConYardN_DS.NBConYardN_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBConYardN_ES Animation = NBConYardN_ES.NBConYardN_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBConYardN_NS Animation = NBConYardN_NS.NBConYardN_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBConYardN_DNS Animation = NBConYardN_DNS.NBConYardN_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBConYardN_ENS Animation = NBConYardN_ENS.NBConYardN_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ Radar Extending ----------------- Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = None End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED RUBBLE ConditionState = RADAR_EXTENDING RADAR_UPGRADED Model = NBConYard_A2 Animation = NBConYard_A2.NBConYard_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = RADAR_EXTENDING DAMAGED RADAR_UPGRADED Model = NBConYard_A2D Animation = NBConYard_A2D.NBConYard_A2D AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = RADAR_EXTENDING REALLYDAMAGED RUBBLE RADAR_UPGRADED Model = NBConYard_A2E Animation = NBConYard_A2E.NBConYard_A2E AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = RADAR_UPGRADED Model = NBConYard_A2 Animation = NBConYard_A2.NBConYard_A2 AnimationMode = MANUAL Flags = START_FRAME_LAST End ConditionState = RADAR_UPGRADED DAMAGED Model = NBConYard_A2D Animation = NBConYard_A2D.NBConYard_A2D AnimationMode = MANUAL Flags = START_FRAME_LAST End ConditionState = RADAR_UPGRADED REALLYDAMAGED RUBBLE Model = NBConYard_A2E Animation = NBConYard_A2E.NBConYard_A2E AnimationMode = MANUAL Flags = START_FRAME_LAST End ConditionState = RADAR_UPGRADED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A2 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = RADAR_UPGRADED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBConYard_A2D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = RADAR_UPGRADED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = NBConYard_A2E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End End PlacementViewAngle = -135 ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A4 Animation = NBConYard_A4.NBConYard_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A4N Animation = NBConYard_A4N.NBConYard_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A4S Animation = NBConYard_A4S.NBConYard_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A4SN Animation = NBConYard_A4SN.NBConYard_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBConYard_A4 Animation = NBConYard_A4.NBConYard_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBConYard_A4N Animation = NBConYard_A4N.NBConYard_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBConYard_A4S Animation = NBConYard_A4S.NBConYard_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBConYard_A4SN Animation = NBConYard_A4SN.NBConYard_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = UP_DAY DOWN_DEFAULT Model = NBConYard_A4 Animation = NBConYard_A4.NBConYard_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBConYard_A4N Animation = NBConYard_A4N.NBConYard_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBConYard_A4S Animation = NBConYard_A4S.NBConYard_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBConYard_A4SN Animation = NBConYard_A4SN.NBConYard_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST ParticleSysBone = Pit SmolderingFire ParticleSysBone = Pit01 SmolderingFire ParticleSysBone = Pit SmolderingSmoke ParticleSysBone = Pit01 SmolderingSmoke End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBConYard_A6 Animation = NBConYard_A6.NBConYard_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = SmokeM01 BuildUpSmokeChina ParticleSysBone = SmokeS02 BuildUpSmokeChina ParticleSysBone = SparksM01 BuildUpSmokeChina ParticleSysBone = SparksM02 BuildUpSmokeChina ParticleSysBone = SparksS01 BuildUpSmokeChina ParticleSysBone = SparksS02 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBConYard_A6N Animation = NBConYard_A6N.NBConYard_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = SmokeM01 BuildUpSmokeChina ParticleSysBone = SmokeS02 BuildUpSmokeChina ParticleSysBone = SparksM01 BuildUpSmokeChina ParticleSysBone = SparksM02 BuildUpSmokeChina ParticleSysBone = SparksS01 BuildUpSmokeChina ParticleSysBone = SparksS02 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBConYard_A6S Animation = NBConYard_A6S.NBConYard_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = SmokeM01 BuildUpSnowSmoke ParticleSysBone = SmokeS02 BuildUpSnowSmoke ParticleSysBone = SparksM01 BuildUpSnowSmoke ParticleSysBone = SparksM02 BuildUpSnowSmoke ParticleSysBone = SparksS01 BuildUpSnowSmoke ParticleSysBone = SparksS02 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBConYard_A6SN Animation = NBConYard_A6SN.NBConYard_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = SmokeM01 BuildUpNightSnowSmoke ParticleSysBone = SmokeS02 BuildUpNightSnowSmoke ParticleSysBone = SparksM01 BuildUpNightSnowSmoke ParticleSysBone = SparksM02 BuildUpNightSnowSmoke ParticleSysBone = SparksS01 BuildUpNightSnowSmoke ParticleSysBone = SparksS02 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBConYard_A6 Animation = NBConYard_A6.NBConYard_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBConYard_A6N Animation = NBConYard_A6N.NBConYard_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBConYard_A6S Animation = NBConYard_A6S.NBConYard_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBConYard_A6SN Animation = NBConYard_A6SN.NBConYard_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBConYard_A6 Animation = NBConYard_A6.NBConYard_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBConYard_A6N Animation = NBConYard_A6N.NBConYard_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBConYard_A6S Animation = NBConYard_A6S.NBConYard_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBConYard_A6SN Animation = NBConYard_A6SN.NBConYard_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A5 Animation = NBConYard_A5.NBConYard_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A5N Animation = NBConYard_A5N.NBConYard_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A5S Animation = NBConYard_A5S.NBConYard_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A5SN Animation = NBConYard_A5SN.NBConYard_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBConYard_AB Animation = NBConYard_AB.NBConYard_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBConYard_ABN Animation = NBConYard_ABN.NBConYard_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBConYard_ABS Animation = NBConYard_ABS.NBConYard_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBConYard_ABSN Animation = NBConYard_ABSN.NBConYard_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBConYard_AB Animation = NBConYard_AB.NBConYard_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBConYard_ABN Animation = NBConYard_ABN.NBConYard_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBConYard_ABS Animation = NBConYard_ABS.NBConYard_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBConYard_ABSN Animation = NBConYard_ABSN.NBConYard_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ----------------- the factory door ------------------- Draw = W3DModelDraw ModuleTag_06 DefaultConditionState Model = NBConYard_A7 Animation = NBConYard_A7.NBConYard_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = DAMAGED Model = NBConYard_A7D Animation = NBConYard_A7D.NBConYard_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = NBConYard_A7D Animation = NBConYard_A7D.NBConYard_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = NBConYard_A7 Animation = NBConYard_A7.NBConYard_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = NIGHT SNOW DOOR_1_OPENING ConditionState = DOOR_1_OPENING DAMAGED Model = NBConYard_A7D Animation = NBConYard_A7D.NBConYard_A7D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = NBConYard_A7D Animation = NBConYard_A7D.NBConYard_A7D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_CLOSING Model = NBConYard_A7 Animation = NBConYard_A7.NBConYard_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DOOR_1_CLOSING ConditionState = DOOR_1_CLOSING DAMAGED Model = NBConYard_A7D Animation = NBConYard_A7D.NBConYard_A7D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_CLOSING DAMAGED ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = NBConYard_A7D Animation = NBConYard_A7D.NBConYard_A7D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_OPEN Model = NBConYard_A7 Animation = NBConYard_A7.NBConYard_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = NBConYard_A7D Animation = NBConYard_A7D.NBConYard_A7D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN DAMAGED ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = NBConYard_A7D Animation = NBConYard_A7D.NBConYard_A7D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBConYard_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBConYard_A7D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBConYard_A7D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; Officers club flag Draw = W3DModelDraw ModuleTag_OfficersClub OkToChangeModelColor = No ConditionState = NONE Model = None End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE ConditionState = PREORDER Model = OCFlagCHA Animation = OCFlagCHA.OCFlagCHA AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ; ConditionState = PREORDER DAMAGED ; Model = OCFlagCHA_D ; Animation = OCFlagCHA_D.OCFlagCHA_D ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End ; ConditionState = PREORDER REALLYDAMAGED ; Model = OCFlagCHA_E ; Animation = OCFlagCHA_E.OCFlagCHA_E ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:CommandCenter Side = ChinaNukeGeneral EditorSorting = STRUCTURE BuildCost = 2000 BuildTime = 45.0 ; in seconds EnergyProduction = 0 ;Command center should be free CommandSet = Nuke_ChinaCommandCenterCommandSet VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 300 ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = CommandCenterChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE COMMANDCENTER SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_07 MaxHealth = 5000.0 InitialHealth = 5000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 5200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = PreorderCreate ModuleTag_PreorderCreate End Behavior = ProductionUpdate ModuleTag_08 NumDoorAnimations = 1 DoorOpeningTime = 3000 ;in mSeconds DoorWaitOpenTime = 3000 ;in mSeconds DoorCloseTime = 3000 ;in mSeconds ConstructionCompleteDuration = 1500 ;in mSeconds End Behavior = DefaultProductionExitUpdate ModuleTag_09 UnitCreatePoint = X:-18.0 Y: 40.0 Z:0.0 NaturalRallyPoint = X: 60.0 Y: 40.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RadarUpdate ModuleTag_10 RadarExtendTime = 4000 ;in mSeconds End Behavior = DestroyDie ModuleTag_11 ;nothing End Behavior = CreateObjectDie ModuleTag_12 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_13 DeathFX = FX_StructureMediumDeath End Behavior = RadarUpgrade ModuleTag_14 TriggeredBy = Upgrade_ChinaRadar End Behavior = GenerateMinefieldBehavior ModuleTag_15 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = OCLSpecialPower ModuleTag_16 SpecialPowerTemplate = SuperweaponNapalmStrike OCL = SUPERWEAPON_NapalmStrike End Behavior = OCLSpecialPower ModuleTag_17 SpecialPowerTemplate = SuperweaponArtilleryBarrage UpgradeOCL = SCIENCE_ArtilleryBarrage3 SUPERWEAPON_ArtilleryBarrage3 UpgradeOCL = SCIENCE_ArtilleryBarrage2 SUPERWEAPON_ArtilleryBarrage2 OCL = SUPERWEAPON_ArtilleryBarrage1 CreateLocation = CREATE_AT_EDGE_FARTHEST_FROM_TARGET End Behavior = OCLSpecialPower ModuleTag_18 SpecialPowerTemplate = SuperweaponClusterMines OCL = SUPERWEAPON_ClusterMines CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_19 SpecialPowerTemplate = SuperweaponEMPPulse OCL = SUPERWEAPON_EMPPulse CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = CashHackSpecialPower ModuleTag_20 SpecialPowerTemplate = SuperweaponCashHack UpgradeMoneyAmount = SCIENCE_CashHack3 4000 UpgradeMoneyAmount = SCIENCE_CashHack2 2000 MoneyAmount = 1000 ; amount of money to steal End Behavior = OCLSpecialPower ModuleTag_21 SpecialPowerTemplate = Early_SuperweaponEmergencyRepair UpgradeOCL = Early_SCIENCE_EmergencyRepair3 SUPERWEAPON_RepairVehicles3 UpgradeOCL = Early_SCIENCE_EmergencyRepair2 SUPERWEAPON_RepairVehicles2 OCL = SUPERWEAPON_RepairVehicles1 CreateLocation = CREATE_AT_LOCATION End Behavior = OCLSpecialPower ModuleTag_22;this has been removed from everywhere but the ChinaAirfield in CHI05 SpecialPowerTemplate = Nuke_SuperweaponChinaCarpetBomb OCL = Nuke_SUPERWEAPON_ChinaCarpetBomb CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = FlammableUpdate ModuleTag_23 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_24 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = Nuke_ChinaCommandCenterCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Behavior = OCLSpecialPower ModuleTag_27 SpecialPowerTemplate = SuperweaponFrenzy UpgradeOCL = SCIENCE_Frenzy3 SUPERWEAPON_Frenzy3 UpgradeOCL = SCIENCE_Frenzy2 SUPERWEAPON_Frenzy2 OCL = SUPERWEAPON_Frenzy1 CreateLocation = CREATE_AT_LOCATION End Geometry = BOX FactoryExitWidth = 25 GeometryMajorRadius = 60.0 GeometryMinorRadius = 63.0 GeometryHeight = 36.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Nuke_ChinaAirfield ; *** ART Parameters *** SelectPortrait = SNAirfield_L ButtonImage = SNAirfield Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = Runway1Parking1 ExtraPublicBone = Runway1Parking2 ExtraPublicBone = Runway2Parking1 ExtraPublicBone = Runway2Parking2 ExtraPublicBone = Runway1Park1Han ExtraPublicBone = Runway1Park2Han ExtraPublicBone = Runway2Park1Han ExtraPublicBone = Runway2Park2Han ExtraPublicBone = Runway1Prep1 ExtraPublicBone = Runway1Prep2 ExtraPublicBone = Runway2Prep1 ExtraPublicBone = Runway2Prep2 ExtraPublicBone = RunwayStart1 ExtraPublicBone = RunwayStart2 ExtraPublicBone = RunwayEnd1 ExtraPublicBone = RunwayEnd2 ExtraPublicBone = HeliPark01 ; ------------- DAY ------------------ DefaultConditionState Model = NBAirfield Animation = NBAirfield.NBAirfield AnimationMode = LOOP End ConditionState = DAMAGED Model = NBAirfield_D Animation = NBAirfield_D.NBAirfield_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = NBAirfield_E Animation = NBAirfield_E.NBAirfield_E AnimationMode = LOOP End ; ------------- SNOW ------------------ ConditionState = SNOW Model = NBAirfield_S Animation = NBAirfield_S.NBAirfield_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = NBAirfield_DS Animation = NBAirfield_DS.NBAirfield_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBAirfield_ES Animation = NBAirfield_ES.NBAirfield_ES AnimationMode = LOOP End ; ------------- NIGHT ------------------ ConditionState = NIGHT Model = NBAirfield_N Animation = NBAirfield_N.NBAirfield_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = NBAirfield_DN Animation = NBAirfield_DN.NBAirfield_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBAirfield_EN Animation = NBAirfield_EN.NBAirfield_EN AnimationMode = LOOP End ; ------------- NIGHT SNOW------------------ ConditionState = NIGHT SNOW Model = NBAirfield_NS Animation = NBAirfield_NS.NBAirfield_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = NBAirfield_DNS Animation = NBAirfield_DNS.NBAirfield_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBAirfield_ENS Animation = NBAirfield_ENS.NBAirfield_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield Animation = NBAirfield.NBAirfield AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBAirfield_D Animation = NBAirfield_D.NBAirfield_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBAirfield_E Animation = NBAirfield_E.NBAirfield_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBAirfield_N Animation = NBAirfield_N.NBAirfield_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBAirfield_DN Animation = NBAirfield_DN.NBAirfield_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBAirfield_EN Animation = NBAirfield_EN.NBAirfield_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBAirfield_S Animation = NBAirfield_S.NBAirfield_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBAirfield_DS Animation = NBAirfield_DS.NBAirfield_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBAirfield_ES Animation = NBAirfield_ES.NBAirfield_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBAirfield_NS Animation = NBAirfield_NS.NBAirfield_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBAirfield_DNS Animation = NBAirfield_DNS.NBAirfield_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBAirfield_ENS Animation = NBAirfield_ENS.NBAirfield_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = None End End ; ----------------- door #1 ------------------- Draw = W3DModelDraw ModuleTag_03 DefaultConditionState Model = NBAirfield_A9 Animation = NBAirfield_A9.NBAirfield_A9 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = SNOW NIGHT AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = NBAirfield_A9 Animation = NBAirfield_A9.NBAirfield_A9 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = SNOW NIGHT DOOR_1_OPENING AliasConditionState = NIGHT DAMAGED DOOR_1_OPENING AliasConditionState = SNOW DAMAGED DOOR_1_OPENING AliasConditionState = SNOW NIGHT DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_1_OPENING ConditionState = DOOR_1_CLOSING Model = NBAirfield_A9 Animation = NBAirfield_A9.NBAirfield_A9 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = SNOW NIGHT DOOR_1_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_1_CLOSING AliasConditionState = SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = SNOW NIGHT DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_1_CLOSING ConditionState = DOOR_1_WAITING_OPEN Model = NBAirfield_A9 Animation = NBAirfield_A9.NBAirfield_A9 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = SNOW NIGHT DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A9 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBAirfield_A9 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBAirfield_A9 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- door #2 ------------------- ; this one has no door #2... (srj) ; Draw = W3DModelDraw ; DefaultConditionState ; Model = NBAirfield_A10 ; Animation = NBAirfield_A10.NBAirfield_A10 ; AnimationMode = MANUAL ; Flags = START_FRAME_FIRST ; End ; ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ; Model = NBAirfield_A10 ; Flags = START_FRAME_FIRST ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End ; ConditionState = DOOR_2_OPENING ; Model = NBAirfield_A10 ; Animation = NBAirfield_A10.NBAirfield_A10 ; AnimationMode = ONCE ; Flags = START_FRAME_FIRST ; End ; ConditionState = DOOR_2_CLOSING ; Model = NBAirfield_A10 ; Animation = NBAirfield_A10.NBAirfield_A10 ; AnimationMode = ONCE_BACKWARDS ; Flags = START_FRAME_LAST ; End ; ConditionState = DOOR_2_WAITING_OPEN ; Model = NBAirfield_A10 ; Animation = NBAirfield_A10.NBAirfield_A10 ; AnimationMode = MANUAL ; Flags = START_FRAME_LAST ; End ; End ; ----------------- door #3 ------------------- Draw = W3DModelDraw ModuleTag_04 DefaultConditionState Model = NBAirfield_A10 Animation = NBAirfield_A10.NBAirfield_A10 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = SNOW NIGHT AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState = DOOR_3_OPENING Model = NBAirfield_A10 Animation = NBAirfield_A10.NBAirfield_A10 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_3_OPENING AliasConditionState = SNOW DOOR_3_OPENING AliasConditionState = SNOW NIGHT DOOR_3_OPENING AliasConditionState = NIGHT DAMAGED DOOR_3_OPENING AliasConditionState = SNOW DAMAGED DOOR_3_OPENING AliasConditionState = SNOW NIGHT DAMAGED DOOR_3_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_3_OPENING ConditionState = DOOR_3_CLOSING Model = NBAirfield_A10 Animation = NBAirfield_A10.NBAirfield_A10 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_3_CLOSING AliasConditionState = SNOW DOOR_3_CLOSING AliasConditionState = SNOW NIGHT DOOR_3_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_3_CLOSING AliasConditionState = SNOW DAMAGED DOOR_3_CLOSING AliasConditionState = SNOW NIGHT DAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_3_CLOSING ConditionState = DOOR_3_WAITING_OPEN Model = NBAirfield_A10 Animation = NBAirfield_A10.NBAirfield_A10 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_3_WAITING_OPEN AliasConditionState = SNOW DOOR_3_WAITING_OPEN AliasConditionState = SNOW NIGHT DOOR_3_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_3_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_3_WAITING_OPEN AliasConditionState = SNOW NIGHT DAMAGED DOOR_3_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A10 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBAirfield_A10 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBAirfield_A10 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- door #4 ------------------- Draw = W3DModelDraw ModuleTag_05 DefaultConditionState Model = NBAirfield_A8 Animation = NBAirfield_A8.NBAirfield_A8 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = SNOW NIGHT AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState = DOOR_4_OPENING Model = NBAirfield_A8 Animation = NBAirfield_A8.NBAirfield_A8 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_4_OPENING AliasConditionState = SNOW DOOR_4_OPENING AliasConditionState = SNOW NIGHT DOOR_4_OPENING AliasConditionState = NIGHT DAMAGED DOOR_4_OPENING AliasConditionState = SNOW DAMAGED DOOR_4_OPENING AliasConditionState = SNOW NIGHT DAMAGED DOOR_4_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_OPENING AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_4_OPENING ConditionState = DOOR_4_CLOSING Model = NBAirfield_A8 Animation = NBAirfield_A8.NBAirfield_A8 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_4_CLOSING AliasConditionState = SNOW DOOR_4_CLOSING AliasConditionState = SNOW NIGHT DOOR_4_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_4_CLOSING AliasConditionState = SNOW DAMAGED DOOR_4_CLOSING AliasConditionState = SNOW NIGHT DAMAGED DOOR_4_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_CLOSING AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_4_CLOSING ConditionState = DOOR_4_WAITING_OPEN Model = NBAirfield_A8 Animation = NBAirfield_A8.NBAirfield_A8 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_4_WAITING_OPEN AliasConditionState = SNOW DOOR_4_WAITING_OPEN AliasConditionState = SNOW NIGHT DOOR_4_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_4_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_4_WAITING_OPEN AliasConditionState = SNOW NIGHT DAMAGED DOOR_4_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBAirfield_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBAirfield_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_06 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A4 Animation = NBAirfield_A4.NBAirfield_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A4N Animation = NBAirfield_A4N.NBAirfield_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A4S Animation = NBAirfield_A4S.NBAirfield_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A4SN Animation = NBAirfield_A4SN.NBAirfield_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBAirfield_A4 Animation = NBAirfield_A4.NBAirfield_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBAirfield_A4N Animation = NBAirfield_A4N.NBAirfield_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBAirfield_A4S Animation = NBAirfield_A4S.NBAirfield_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBAirfield_A4SN Animation = NBAirfield_A4SN.NBAirfield_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBAirfield_A4 Animation = NBAirfield_A4.NBAirfield_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBAirfield_A4N Animation = NBAirfield_A4N.NBAirfield_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBAirfield_A4S Animation = NBAirfield_A4S.NBAirfield_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBAirfield_A4SN Animation = NBAirfield_A4SN.NBAirfield_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBAirfield_A6 Animation = NBAirfield_A6.NBAirfield_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBAirfield_A6N Animation = NBAirfield_A6N.NBAirfield_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBAirfield_A6S Animation = NBAirfield_A6S.NBAirfield_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBAirfield_A6SN Animation = NBAirfield_A6SN.NBAirfield_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBAirfield_A6 Animation = NBAirfield_A6.NBAirfield_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBAirfield_A6N Animation = NBAirfield_A6N.NBAirfield_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBAirfield_A6S Animation = NBAirfield_A6S.NBAirfield_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBAirfield_A6SN Animation = NBAirfield_A6SN.NBAirfield_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBAirfield_A6 Animation = NBAirfield_A6.NBAirfield_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBAirfield_A6N Animation = NBAirfield_A6N.NBAirfield_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBAirfield_A6S Animation = NBAirfield_A6S.NBAirfield_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBAirfield_A6SN Animation = NBAirfield_A6SN.NBAirfield_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_08 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A5 Animation = NBAirfield_A5.NBAirfield_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A5N Animation = NBAirfield_A5N.NBAirfield_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A5S Animation = NBAirfield_A5S.NBAirfield_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBAirfield_A5SN Animation = NBAirfield_A5SN.NBAirfield_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBAirfield_AB Animation = NBAirfield_AB.NBAirfield_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBAirfield_ABN Animation = NBAirfield_ABN.NBAirfield_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBAirfield_ABS Animation = NBAirfield_ABS.NBAirfield_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBAirfield_ABSN Animation = NBAirfield_ABSN.NBAirfield_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBAirfield_AB Animation = NBAirfield_AB.NBAirfield_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBAirfield_ABN Animation = NBAirfield_ABN.NBAirfield_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBAirfield_ABS Animation = NBAirfield_ABS.NBAirfield_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBAirfield_ABSN Animation = NBAirfield_ABSN.NBAirfield_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:Airfield Side = ChinaNukeGeneral EditorSorting = STRUCTURE Prerequisites Object = Nuke_ChinaSupplyCenter End BuildCost = 1000 BuildTime = 30.0 ; in seconds EnergyProduction = -1 CommandSet = Nuke_ChinaAirfieldCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 150 150 150 150 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = AirfieldChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_AIRFIELD SCORE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY FS_FACTORY AUTO_RALLYPOINT Body = StructureBody ModuleTag_09 MaxHealth = 1500.0 InitialHealth = 1500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1700 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ParkingPlaceBehavior ModuleTag_10 HealAmountPerSecond = 10 NumRows = 2 NumCols = 2 HasRunways = Yes ApproachHeight = 50 ParkInHangars = Yes End Behavior = ProductionUpdate ModuleTag_11 NumDoorAnimations = 4 DoorOpeningTime = 2000 ;in mSeconds DoorWaitOpenTime = 3000 ;in mSeconds DoorCloseTime = 2000 ;in mSeconds ConstructionCompleteDuration = 1000 ;in mSeconds End Behavior = DestroyDie ModuleTag_12 ;nothing End Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_ABPowerPlantExplode End Behavior = FXListDie ModuleTag_14 DeathFX = FX_StructureMediumDeath End Behavior = GenerateMinefieldBehavior ModuleTag_15 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = FlammableUpdate ModuleTag_17 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_18 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = Nuke_ChinaAirfieldCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Geometry = BOX GeometryMajorRadius = 83.0 GeometryMinorRadius = 76.0 GeometryHeight = 25.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;China Neutron Missile, NukeSilo, Nuke Silo Object Nuke_ChinaNuclearMissileLauncher ; *** ART Parameters *** SelectPortrait = SNNukeMisl_L ButtonImage = SNNukeMisl SelectPortrait = SNNukeMisl_L ButtonImage = SNNukeMisl Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = NBNMissle End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End ConditionState = DAMAGED Model = NBNMissle_D ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = NBNMissle_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = AWAITING_CONSTRUCTION Model = None End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBNMissle Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBNMissle_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = NBNMissle_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = DOOR_1_OPENING Model = NBNMissle_A2 Animation = NBNMissle_A2.NBNMissle_A2 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_WAITING_OPEN Model = NBNMissle_A2 Animation = NBNMissle_A2.NBNMissle_A2 AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE Model = NBNMissle_A3 Animation = NBNMissle_A3.NBNMissle_A3 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos End ConditionState = DOOR_1_CLOSING Model = NBNMissle_A3 Animation = NBNMissle_A3.NBNMissle_A3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End ConditionState = DOOR_1_OPENING DAMAGED Model = NBNMissle_A2D Animation = NBNMissle_A2D.NBNMissle_A2D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = NBNMissle_A2D Animation = NBNMissle_A2D.NBNMissle_A2D AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE DAMAGED Model = NBNMissle_A3D Animation = NBNMissle_A3D.NBNMissle_A3D AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING DAMAGED Model = NBNMissle_A3D Animation = NBNMissle_A3D.NBNMissle_A3D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = NBNMissle_A2E Animation = NBNMissle_A2E.NBNMissle_A2E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = NBNMissle_A2E Animation = NBNMissle_A2E.NBNMissle_A2E AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE Model = NBNMissle_A3E Animation = NBNMissle_A3E.NBNMissle_A3E AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = NBNMissle_A3E Animation = NBNMissle_A3E.NBNMissle_A3E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ; night ConditionState = NIGHT Model = NBNMissle_N End ConditionState = DAMAGED NIGHT Model = NBNMissle_DN ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBNMissle_EN ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = AWAITING_CONSTRUCTION NIGHT Model = None End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBNMissle_N Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBNMissle_DN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBNMissle_EN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = DOOR_1_OPENING NIGHT Model = NBNMissle_A2N Animation = NBNMissle_A2N.NBNMissle_A2N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_WAITING_OPEN NIGHT Model = NBNMissle_A2N Animation = NBNMissle_A2N.NBNMissle_A2N AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE NIGHT Model = NBNMissle_A3N Animation = NBNMissle_A3N.NBNMissle_A3N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos End ConditionState = DOOR_1_CLOSING NIGHT Model = NBNMissle_A3N Animation = NBNMissle_A3N.NBNMissle_A3N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End ConditionState = DOOR_1_OPENING DAMAGED NIGHT Model = NBNMissle_A2DN Animation = NBNMissle_A2DN.NBNMissle_A2DN AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN DAMAGED NIGHT Model = NBNMissle_A2DN Animation = NBNMissle_A2DN.NBNMissle_A2DN AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE DAMAGED NIGHT Model = NBNMissle_A3DN Animation = NBNMissle_A3DN.NBNMissle_A3DN AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING DAMAGED NIGHT Model = NBNMissle_A3DN Animation = NBNMissle_A3DN.NBNMissle_A3DN AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE NIGHT Model = NBNMissle_A2EN Animation = NBNMissle_A2EN.NBNMissle_A2EN AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE NIGHT Model = NBNMissle_A2EN Animation = NBNMissle_A2EN.NBNMissle_A2EN AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE NIGHT Model = NBNMissle_A3EN Animation = NBNMissle_A3EN.NBNMissle_A3EN AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE NIGHT Model = NBNMissle_A3EN Animation = NBNMissle_A3EN.NBNMissle_A3EN AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ;-------------- SNOW! -------------------- ConditionState = SNOW Model = NBNMissle_S End ConditionState = DAMAGED SNOW Model = NBNMissle_DS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBNMissle_ES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = AWAITING_CONSTRUCTION SNOW Model = None End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBNMissle_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBNMissle_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBNMissle_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = DOOR_1_OPENING SNOW Model = NBNMissle_A2S Animation = NBNMissle_A2S.NBNMissle_A2S AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_WAITING_OPEN SNOW Model = NBNMissle_A2S Animation = NBNMissle_A2S.NBNMissle_A2S AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE SNOW Model = NBNMissle_A3S Animation = NBNMissle_A3S.NBNMissle_A3S AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos End ConditionState = DOOR_1_CLOSING SNOW Model = NBNMissle_A3S Animation = NBNMissle_A3S.NBNMissle_A3S AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End ConditionState = DOOR_1_OPENING DAMAGED SNOW Model = NBNMissle_A2DS Animation = NBNMissle_A2DS.NBNMissle_A2DS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN DAMAGED SNOW Model = NBNMissle_A2DS Animation = NBNMissle_A2DS.NBNMissle_A2DS AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE DAMAGED SNOW Model = NBNMissle_A3DS Animation = NBNMissle_A3DS.NBNMissle_A3DS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING DAMAGED SNOW Model = NBNMissle_A3DS Animation = NBNMissle_A3DS.NBNMissle_A3DS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE SNOW Model = NBNMissle_A2ES Animation = NBNMissle_A2ES.NBNMissle_A2ES AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE SNOW Model = NBNMissle_A2ES Animation = NBNMissle_A2ES.NBNMissle_A2ES AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE SNOW Model = NBNMissle_A3ES Animation = NBNMissle_A3ES.NBNMissle_A3ES AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE SNOW Model = NBNMissle_A3ES Animation = NBNMissle_A3ES.NBNMissle_A3ES AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ; night ConditionState = NIGHT SNOW Model = NBNMissle_NS End ConditionState = DAMAGED NIGHT SNOW Model = NBNMissle_DNS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBNMissle_ENS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = AWAITING_CONSTRUCTION NIGHT SNOW Model = None End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBNMissle_NS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBNMissle_DNS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBNMissle_ENS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = DOOR_1_OPENING NIGHT SNOW Model = NBNMissle_A2NS Animation = NBNMissle_A2NS.NBNMissle_A2NS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_WAITING_OPEN NIGHT SNOW Model = NBNMissle_A2NS Animation = NBNMissle_A2NS.NBNMissle_A2NS AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE NIGHT SNOW Model = NBNMissle_A3NS Animation = NBNMissle_A3NS.NBNMissle_A3NS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos End ConditionState = DOOR_1_CLOSING NIGHT SNOW Model = NBNMissle_A3NS Animation = NBNMissle_A3NS.NBNMissle_A3NS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End ConditionState = DOOR_1_OPENING DAMAGED NIGHT SNOW Model = NBNMissle_A2DNS Animation = NBNMissle_A2DNS.NBNMissle_A2DNS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN DAMAGED NIGHT SNOW Model = NBNMissle_A2DNS Animation = NBNMissle_A2DNS.NBNMissle_A2DNS AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE DAMAGED NIGHT SNOW Model = NBNMissle_A3DNS Animation = NBNMissle_A3DNS.NBNMissle_A3DNS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING DAMAGED NIGHT SNOW Model = NBNMissle_A3DNS Animation = NBNMissle_A3DNS.NBNMissle_A3DNS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBNMissle_A2ENS Animation = NBNMissle_A2ENS.NBNMissle_A2ENS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBNMissle_A2ENS Animation = NBNMissle_A2ENS.NBNMissle_A2ENS AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBNMissle_A3ENS Animation = NBNMissle_A3ENS.NBNMissle_A3ENS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPos ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBNMissle_A3ENS Animation = NBNMissle_A3ENS.NBNMissle_A3ENSS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBNMissle_A4 Animation = NBNMissle_A4.NBNMissle_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBNMissle_A4N Animation = NBNMissle_A4N.NBNMissle_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBNMissle_A4S Animation = NBNMissle_A4S.NBNMissle_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBNMissle_A4SN Animation = NBNMissle_A4SN.NBNMissle_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBNMissle_A4 Animation = NBNMissle_A4.NBNMissle_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBNMissle_A4N Animation = NBNMissle_A4N.NBNMissle_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBNMissle_A4S Animation = NBNMissle_A4S.NBNMissle_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBNMissle_A4SN Animation = NBNMissle_A4SN.NBNMissle_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBNMissle_A4 Animation = NBNMissle_A4.NBNMissle_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBNMissle_A4N Animation = NBNMissle_A4N.NBNMissle_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBNMissle_A4S Animation = NBNMissle_A4S.NBNMissle_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBNMissle_A4SN Animation = NBNMissle_A4SN.NBNMissle_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBNMissle_A6 Animation = NBNMissle_A6.NBNMissle_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBNMissle_A6N Animation = NBNMissle_A6N.NBNMissle_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBNMissle_A6S Animation = NBNMissle_A6S.NBNMissle_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBNMissle_A6SN Animation = NBNMissle_A6SN.NBNMissle_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBNMissle_A6 Animation = NBNMissle_A6.NBNMissle_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBNMissle_A6N Animation = NBNMissle_A6N.NBNMissle_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBNMissle_A6S Animation = NBNMissle_A6S.NBNMissle_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBNMissle_A6SN Animation = NBNMissle_A6SN.NBNMissle_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBNMissle_A6 Animation = NBNMissle_A6.NBNMissle_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBNMissle_A6N Animation = NBNMissle_A6N.NBNMissle_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBNMissle_A6S Animation = NBNMissle_A6S.NBNMissle_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBNMissle_A6SN Animation = NBNMissle_A6SN.NBNMissle_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBNMissle_A5 Animation = NBNMissle_A5.NBNMissle_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBNMissle_A5N Animation = NBNMissle_A5N.NBNMissle_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBNMissle_A5S Animation = NBNMissle_A5S.NBNMissle_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBNMissle_A5SN Animation = NBNMissle_A5SN.NBNMissle_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBNMissle_AB Animation = NBNMissle_AB.NBNMissle_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBNMissle_ABN Animation = NBNMissle_ABN.NBNMissle_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBNMissle_ABS Animation = NBNMissle_ABS.NBNMissle_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBNMissle_ABSN Animation = NBNMissle_ABSN.NBNMissle_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBNMissle_AB Animation = NBNMissle_AB.NBNMissle_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBNMissle_ABN Animation = NBNMissle_ABN.NBNMissle_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBNMissle_ABS Animation = NBNMissle_ABS.NBNMissle_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBNMissle_ABSN Animation = NBNMissle_ABSN.NBNMissle_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; Blinking lights Draw = W3DModelDraw ModuleTag_05 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = NBNMissle_AC Animation = NONE End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBNMissle_AC Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End ConditionState = DOOR_1_OPENING Model = NBNMissle_AC Animation = NBNMissle_AC.NBNMissle_AC AnimationMode = LOOP Flags = START_FRAME_FIRST End ConditionState = DOOR_1_WAITING_OPEN Model = NBNMissle_AC Animation = NBNMissle_AC.NBNMissle_AC AnimationMode = LOOP Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_TO_CLOSE Model = NBNMissle_AC Animation = NBNMissle_AC.NBNMissle_AC AnimationMode = LOOP Flags = START_FRAME_FIRST ;WeaponLaunchBone = PRIMARY RockPos End ConditionState = DOOR_1_CLOSING Model = NBNMissle_AC Animation = NBNMissle_AC.NBNMissle_AC AnimationMode = LOOP Flags = START_FRAME_FIRST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:NuclearMissile Side = ChinaNukeGeneral EditorSorting = STRUCTURE Prerequisites Object = Nuke_ChinaPropagandaCenter End BuildCost = 4500 BuildTime = 60.0 ; in seconds EnergyProduction = -10 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ShroudRevealToAllRange = 60 ; Reveals shroud to all players at a specific amount which can be different. ; Using same value? Then use KINDOF_REVEAL_TO_ALL instead! CommandSet = Nuke_ChinaNuclearMissileCommandSet ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 400 400 400 400 ; Experience point value at each level MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games MaxSimultaneousLinkKey = Superweapon ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType ; *** AUDIO Parameters *** VoiceSelect = NuclearMissileSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY POWERED MP_COUNT_FOR_VICTORY FS_SUPERWEAPON Body = StructureBody ModuleTag_06 MaxHealth = 4000.0 InitialHealth = 4000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 4200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = OCLSpecialPower ModuleTag_07 SpecialPowerTemplate = SuperweaponNeutronMissile OCL = SUPERWEAPON_NeutronMissile End Behavior = SpecialPowerCreate ModuleTag_08 ;nothing End Behavior = MissileLauncherBuildingUpdate ModuleTag_09 SpecialPowerTemplate = SuperweaponNeutronMissile DoorOpenTime = 8000 DoorWaitOpenTime = 2000 DoorCloseTime = 8000 ; FXLists to play at transitions: DoorOpeningFX = ChinaNuclearMissileLauncherDoorOpen ;DoorOpenFX = FX_ABPowerPlantExplode DoorWaitingToCloseFX = ChinaNuclearMissileLauncherLaunch ;DoorClosingFX = FX_ABPowerPlantExplode ;DoorClosedFX = FX_ABPowerPlantExplode ; looping sound to play while open: DoorOpenIdleAudio = BuildingNeutronMissileHiss End Behavior = ProductionUpdate ModuleTag_10 DisabledTypesToProcess = DISABLED_HELD DISABLED_UNDERPOWERED End Behavior = DestroyDie ModuleTag_11 ;Nothing End Behavior = FireWeaponWhenDeadBehavior ModuleTag_12 DeathWeapon = ChinaPowerPlantDeathWeapon StartsActive = Yes End Behavior = GenerateMinefieldBehavior ModuleTag_13 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_15 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = CreateObjectDie ModuleTag_20 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_21 ExemptStatus = UNDER_CONSTRUCTION DeathFX = FX_NukeGLA End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = Nuke_ChinaNuclearMissileCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Geometry = BOX GeometryMajorRadius = 45.0 GeometryMinorRadius = 55.0 GeometryHeight = 64.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Nuke_ChinaSpeakerTower ; *** ART Parameters *** SelectPortrait = SNPropSpeaker_L ButtonImage = SNPropSpeaker UpgradeCameo1 = Upgrade_ChinaSubliminalMessaging Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = NBPTower Animation = NBPTower.NBPTower AnimationMode = LOOP End ConditionState = DAMAGED Model = NBPTower_D Animation = NBPTower_D.NBPTower_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE Model = NBPTower_E Animation = NBPTower_E.NBPTower_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Flame01 SmolderingFire ParticleSysBone = Flame01 SmolderingFlameCore ParticleSysBone = Spark01 LiveWireSparks End ; day Snow ConditionState = SNOW Model = NBPTower_S Animation = NBPTower_S.NBPTower_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = NBPTower_DS Animation = NBPTower_DS.NBPTower_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBPTower_ES Animation = NBPTower_ES.NBPTower_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Flame01 SmolderingFire ParticleSysBone = Flame01 SmolderingFlameCore ParticleSysBone = Spark01 LiveWireSparks End ; night ConditionState = NIGHT Model = NBPTower_N Animation = NBPTower_N.NBPTower_N AnimationMode = LOOP End ConditionState = NIGHT DAMAGED Model = NBPTower_DN Animation = NBPTower_DN.NBPTower_DN AnimationMode = LOOP End ConditionState = NIGHT REALLYDAMAGED RUBBLE Model = NBPTower_EN Animation = NBPTower_EN.NBPTower_EN AnimationMode = LOOP End ;Snow Night ConditionState = NIGHT SNOW Model = NBPTower_NS Animation = NBPTower_NS.NBPTower_NS AnimationMode = LOOP End ConditionState = NIGHT SNOW DAMAGED Model = NBPTower_DNS Animation = NBPTower_DNS.NBPTower_DNS AnimationMode = LOOP End ConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE Model = NBPTower_ENS Animation = NBPTower_ENS.NBPTower_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPTower Animation = NBPTower.NBPTower AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBPTower_D Animation = NBPTower_D.NBPTower_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBPTower_E Animation = NBPTower_E.NBPTower_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBPTower_N Animation = NBPTower_N.NBPTower_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBPTower_DN Animation = NBPTower_DN.NBPTower_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBPTower_EN Animation = NBPTower_EN.NBPTower_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBPTower_S Animation = NBPTower_S.NBPTower_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBPTower_DS Animation = NBPTower_DS.NBPTower_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBPTower_ES Animation = NBPTower_ES.NBPTower_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBPTower_NS Animation = NBPTower_NS.NBPTower_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBPTower_DNS Animation = NBPTower_DNS.NBPTower_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBPTower_ENS Animation = NBPTower_ENS.NBPTower_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPTower_A4 Animation = NBPTower_A4.NBPTower_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPTower_A4N Animation = NBPTower_A4N.NBPTower_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPTower_A4S Animation = NBPTower_A4S.NBPTower_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPTower_A4SN Animation = NBPTower_A4SN.NBPTower_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPTower_A4 Animation = NBPTower_A4.NBPTower_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPTower_A4N Animation = NBPTower_A4N.NBPTower_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPTower_A4S Animation = NBPTower_A4S.NBPTower_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPTower_A4SN Animation = NBPTower_A4SN.NBPTower_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPTower_A4 Animation = NBPTower_A4.NBPTower_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPTower_A4N Animation = NBPTower_A4N.NBPTower_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPTower_A4S Animation = NBPTower_A4S.NBPTower_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPTower_A4SN Animation = NBPTower_A4SN.NBPTower_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBPTower_A6 Animation = NBPTower_A6.NBPTower_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBPTower_A6N Animation = NBPTower_A6N.NBPTower_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBPTower_A6S Animation = NBPTower_A6S.NBPTower_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBPTower_A6SN Animation = NBPTower_A6SN.NBPTower_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPTower_A6 Animation = NBPTower_A6.NBPTower_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPTower_A6N Animation = NBPTower_A6N.NBPTower_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPTower_A6S Animation = NBPTower_A6S.NBPTower_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPTower_A6SN Animation = NBPTower_A6SN.NBPTower_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPTower_A6 Animation = NBPTower_A6.NBPTower_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPTower_A6N Animation = NBPTower_A6N.NBPTower_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPTower_A6S Animation = NBPTower_A6S.NBPTower_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPTower_A6SN Animation = NBPTower_A6SN.NBPTower_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBPTower_A5 Animation = NBPTower_A5.NBPTower_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBPTower_A5N Animation = NBPTower_A5N.NBPTower_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBPTower_A5S Animation = NBPTower_A5S.NBPTower_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBPTower_A5SN Animation = NBPTower_A5SN.NBPTower_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPTower_AB Animation = NBPTower_AB.NBPTower_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPTower_ABN Animation = NBPTower_ABN.NBPTower_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPTower_ABS Animation = NBPTower_ABS.NBPTower_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPTower_ABSN Animation = NBPTower_ABSN.NBPTower_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPTower_AB Animation = NBPTower_AB.NBPTower_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPTower_ABN Animation = NBPTower_ABN.NBPTower_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPTower_ABS Animation = NBPTower_ABS.NBPTower_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPTower_ABSN Animation = NBPTower_ABSN.NBPTower_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:SpeakerTower Side = ChinaNukeGeneral EditorSorting = STRUCTURE BuildCost = 500 BuildTime = 10.0 ; in seconds EnergyProduction = -1 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End Prerequisites Object = Nuke_ChinaPropagandaCenter End CommandSet = ChinaSpeakerTowerCommandSet ExperienceValue = 50 50 50 50 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = SpeakerTowerSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE FS_BASE_DEFENSE POWERED IMMUNE_TO_CAPTURE MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_05 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 500 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = PropagandaTowerBehavior ModuleTag_06 Radius = 150.0 DelayBetweenUpdates = 2000 ; in milliseconds HealPercentEachSecond = 2% ; get this % of max health every second PulseFX = FX_PropagandaTowerPropagandaPulse ;plays as often as DelayBetweenUpdates UpgradeRequired = Upgrade_ChinaSubliminalMessaging UpgradedHealPercentEachSecond = 4% ; get this % of max health every second UpgradedPulseFX = FX_PropagandaTowerSubliminalPulse ;plays as often as DelayBetweenUpdates End Behavior = DestroyDie ModuleTag_07 ; End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_ABPowerPlantExplode End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureTinyDeath End Behavior = ProductionUpdate ModuleTag_10 ; But is required if we have any Object-level Upgrades! End Behavior = GenerateMinefieldBehavior ModuleTag_11 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = FlammableUpdate ModuleTag_13 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_14 ;-------------DESIGNED FOR TINY SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionTinyExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionTinyShockwave End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = ChinaSpeakerTowerCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Geometry = BOX GeometryMajorRadius = 6.0 GeometryMinorRadius = 6.0 GeometryHeight = 51.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;China Nuclear Reactor Object Nuke_ChinaPowerPlant ; *** ART Parameters *** SelectPortrait = SNAdvReactor_L ButtonImage = SNAdvReactor ;day Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = NBPwrPtI ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED Model = NBPwrPtI_D ParticleSysBone = Smoke01 SteamLarge ParticleSysBone = Smoke02 SteamMedium ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 FireFactionLarge ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = NBPwrPtI_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksMedium ParticleSysBone = Spark03 SparksSmall ParticleSysBone = Spark04 LiveWireSparks End ; day overcharge ConditionState = POWER_PLANT_UPGRADED Model = NBPwrPtI ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksMedium ParticleSysBone = Spark04 SparksMedium ParticleSysBone = Spark05 SparksSmall ParticleSysBone = Spark06 SparksSmall ParticleSysBone = Spark07 SparksSmall End ConditionState = DAMAGED POWER_PLANT_UPGRADED Model = NBPwrPtI_D ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksMedium ParticleSysBone = Spark04 SparksMedium ParticleSysBone = Spark05 SparksMedium ParticleSysBone = Spark06 SparksSmall ParticleSysBone = Spark07 SparksSmall End ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED Model = NBPwrPtI_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksLarge ParticleSysBone = Spark04 SparksLarge ParticleSysBone = Spark05 SparksMedium ParticleSysBone = Spark06 SparksMedium ParticleSysBone = Spark07 SparksSmall End ; Snow-Day ConditionState = SNOW Model = NBPwrPtI_S ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED SNOW Model = NBPwrPtI_DS ParticleSysBone = Smoke01 SteamLarge ParticleSysBone = Smoke02 SteamMedium ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 FireFactionLarge ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBPwrPtI_ES ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksMedium ParticleSysBone = Spark03 SparksSmall ParticleSysBone = Spark04 LiveWireSparks End ; day overcharge ConditionState = POWER_PLANT_UPGRADED SNOW Model = NBPwrPtI_S ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksMedium ParticleSysBone = Spark04 SparksMedium ParticleSysBone = Spark05 SparksSmall ParticleSysBone = Spark06 SparksSmall ParticleSysBone = Spark07 SparksSmall End ConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW Model = NBPwrPtI_DS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksMedium ParticleSysBone = Spark04 SparksMedium ParticleSysBone = Spark05 SparksMedium ParticleSysBone = Spark06 SparksSmall ParticleSysBone = Spark07 SparksSmall End ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW Model = NBPwrPtI_ES ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksLarge ParticleSysBone = Spark04 SparksLarge ParticleSysBone = Spark05 SparksMedium ParticleSysBone = Spark06 SparksMedium ParticleSysBone = Spark07 SparksSmall End ;night snow ConditionState = NIGHT SNOW Model = NBPwrPtI_NS Animation = NBPwrPtI_NS.NBPwrPtI_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent End ConditionState = NIGHT DAMAGED SNOW Model = NBPwrPtI_DNS Animation = NBPwrPtI_DNS.NBPwrPtI_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBPwrPtI_ENS Animation = NBPwrPtI_ENS.NBPwrPtI_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks ParticleSysBone = Spark03 LiveWireSparks ParticleSysBone = Spark04 LiveWireSparks End ; night overcharge ConditionState = NIGHT POWER_PLANT_UPGRADED SNOW Model = NBPwrPtI_NS Animation = NBPwrPtI_NS.NBPwrPtI_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksMedium ParticleSysBone = Spark04 SparksMedium ParticleSysBone = Spark05 SparksSmall ParticleSysBone = Spark06 SparksSmall ParticleSysBone = Spark07 SparksSmall End ConditionState = NIGHT DAMAGED POWER_PLANT_UPGRADED SNOW Model = NBPwrPtI_DNS Animation = NBPwrPtI_DNS.NBPwrPtI_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksMedium ParticleSysBone = Spark04 SparksMedium ParticleSysBone = Spark05 SparksMedium ParticleSysBone = Spark06 SparksSmall ParticleSysBone = Spark07 SparksSmall End ConditionState = REALLYDAMAGED RUBBLE NIGHT POWER_PLANT_UPGRADED SNOW Model = NBPwrPtI_ENS Animation = NBPwrPtI_ENS.NBPwrPtI_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksLarge ParticleSysBone = Spark04 SparksLarge ParticleSysBone = Spark05 SparksMedium ParticleSysBone = Spark06 SparksMedium ParticleSysBone = Spark07 SparksSmall End ;night ConditionState = NIGHT Model = NBPwrPtI_N Animation = NBPwrPtI_N.NBPwrPtI_N AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent End ConditionState = NIGHT DAMAGED Model = NBPwrPtI_DN Animation = NBPwrPtI_DN.NBPwrPtI_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBPwrPtI_EN Animation = NBPwrPtI_EN.NBPwrPtI_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks ParticleSysBone = Spark03 LiveWireSparks ParticleSysBone = Spark04 LiveWireSparks End ; night overcharge ConditionState = NIGHT POWER_PLANT_UPGRADED Model = NBPwrPtI_N Animation = NBPwrPtI_N.NBPwrPtI_N AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksMedium ParticleSysBone = Spark04 SparksMedium ParticleSysBone = Spark05 SparksSmall ParticleSysBone = Spark06 SparksSmall ParticleSysBone = Spark07 SparksSmall End ConditionState = NIGHT DAMAGED POWER_PLANT_UPGRADED Model = NBPwrPtI_DN Animation = NBPwrPtI_DN.NBPwrPtI_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksMedium ParticleSysBone = Spark04 SparksMedium ParticleSysBone = Spark05 SparksMedium ParticleSysBone = Spark06 SparksSmall ParticleSysBone = Spark07 SparksSmall End ConditionState = REALLYDAMAGED RUBBLE NIGHT POWER_PLANT_UPGRADED Model = NBPwrPtI_EN Animation = NBPwrPtI_EN.NBPwrPtI_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Spark01 SparksLarge ParticleSysBone = Spark02 SparksLarge ParticleSysBone = Spark03 SparksLarge ParticleSysBone = Spark04 SparksLarge ParticleSysBone = Spark05 SparksMedium ParticleSysBone = Spark06 SparksMedium ParticleSysBone = Spark07 SparksSmall End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPtI Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBPwrPtI_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBPwrPtI_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBPwrPtI_N Animation = NBPwrPtI_N.NBPwrPtI_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBPwrPtI_DN Animation = NBPwrPtI_DN.NBPwrPtI_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBPwrPtI_EN Animation = NBPwrPtI_EN.NBPwrPtI_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBPwrPtI_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBPwrPtI_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBPwrPtI_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBPwrPtI_NS Animation = NBPwrPtI_NS.NBPwrPtI_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBPwrPtI_DNS Animation = NBPwrPtI_DNS.NBPwrPtI_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBPwrPtI_ENS Animation = NBPwrPtI_ENS.NBPwrPtI_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD POWER_PLANT_UPGRADED AliasConditionState = SOLD DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD SNOW POWER_PLANT_UPGRADED AliasConditionState = SOLD SNOW DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD SNOW REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED POWER_PLANT_UPGRADED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant_A4 Animation = NBPwrPlant_A4.NBPwrPlant_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant_A4N Animation = NBPwrPlant_A4N.NBPwrPlant_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant_A4S Animation = NBPwrPlant_A4S.NBPwrPlant_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant_A4SN Animation = NBPwrPlant_A4SN.NBPwrPlant_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPwrPlant_A4 Animation = NBPwrPlant_A4.NBPwrPlant_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPwrPlant_A4N Animation = NBPwrPlant_A4N.NBPwrPlant_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPwrPlant_A4S Animation = NBPwrPlant_A4S.NBPwrPlant_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPwrPlant_A4SN Animation = NBPwrPlant_A4SN.NBPwrPlant_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPwrPlant_A4 Animation = NBPwrPlant_A4.NBPwrPlant_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPwrPlant_A4N Animation = NBPwrPlant_A4N.NBPwrPlant_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPwrPlant_A4S Animation = NBPwrPlant_A4S.NBPwrPlant_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPwrPlant_A4SN Animation = NBPwrPlant_A4SN.NBPwrPlant_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBPwrPlant_A6 Animation = NBPwrPlant_A6.NBPwrPlant_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBPwrPlant_A6N Animation = NBPwrPlant_A6N.NBPwrPlant_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBPwrPlant_A6S Animation = NBPwrPlant_A6S.NBPwrPlant_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBPwrPlant_A6SN Animation = NBPwrPlant_A6SN.NBPwrPlant_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPwrPlant_A6 Animation = NBPwrPlant_A6.NBPwrPlant_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPwrPlant_A6N Animation = NBPwrPlant_A6N.NBPwrPlant_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPwrPlant_A6S Animation = NBPwrPlant_A6S.NBPwrPlant_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPwrPlant_A6SN Animation = NBPwrPlant_A6SN.NBPwrPlant_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPwrPlant_A6 Animation = NBPwrPlant_A6.NBPwrPlant_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPwrPlant_A6N Animation = NBPwrPlant_A6N.NBPwrPlant_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPwrPlant_A6S Animation = NBPwrPlant_A6S.NBPwrPlant_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPwrPlant_A6SN Animation = NBPwrPlant_A6SN.NBPwrPlant_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant_A5 Animation = NBPwrPlant_A5.NBPwrPlant_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant_A5N Animation = NBPwrPlant_A5N.NBPwrPlant_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant_A5S Animation = NBPwrPlant_A5S.NBPwrPlant_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBPwrPlant_A5SN Animation = NBPwrPlant_A5SN.NBPwrPlant_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPwrPlant_AB Animation = NBPwrPlant_AB.NBPwrPlant_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPwrPlant_ABN Animation = NBPwrPlant_ABN.NBPwrPlant_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPwrPlant_ABS Animation = NBPwrPlant_ABS.NBPwrPlant_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPwrPlant_ABSN Animation = NBPwrPlant_ABSN.NBPwrPlant_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPwrPlant_AB Animation = NBPwrPlant_AB.NBPwrPlant_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPwrPlant_ABN Animation = NBPwrPlant_ABN.NBPwrPlant_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPwrPlant_ABS Animation = NBPwrPlant_ABS.NBPwrPlant_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPwrPlant_ABSN Animation = NBPwrPlant_ABSN.NBPwrPlant_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:Nuke_NuclearReactor Side = ChinaNukeGeneral EditorSorting = STRUCTURE BuildCost = 1200 BuildTime = 10.0 ; in seconds EnergyProduction = 18 EnergyBonus = 9 ; for the overcharge bonus VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End CommandSet = ChinaPowerPlantCommandSet ExperienceValue = 100 100 100 100 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = NuclearReactorSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_POWER MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_05 MaxHealth = 1500.0 InitialHealth = 1500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1700 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = OverchargeBehavior ModuleTag_06 HealthPercentToDrainPerSecond = 3% ;% of max health to drain per second NotAllowedWhenHealthBelowPercent = 0% ;When currHealth below this, it turns off automatically End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_SmallStructureDebris End Behavior = FireWeaponWhenDeadBehavior ModuleTag_09 DeathWeapon = ChinaPowerPlantDeathWeapon StartsActive = Yes End Behavior = ProductionUpdate ModuleTag_10 ; nothing, but is required if we have any Object-level Upgrades! End Behavior = PowerPlantUpdate ModuleTag_11 RodsExtendTime = 1 End Behavior = GenerateMinefieldBehavior ModuleTag_12 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_15 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = FXListDie ModuleTag_16 DeathFX = FX_BuildingDie End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = ChinaPowerPlantCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Geometry = BOX GeometryMajorRadius = 27.0 GeometryMinorRadius = 34.0 GeometryHeight = 40.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Nuke_ChinaSupplyCenter ; *** ART Parameters *** SelectPortrait = SNSupplyCenter_L ButtonImage = SNSupplyCenter Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;day ConditionState = NONE Model = NBSupCent ;Animation = NBSupCent.NBSupCent ;AnimationMode = LOOP End ConditionState = DAMAGED Model = NBSupCent_D ;Animation = NBSupCent_D.NBSupCent_D ;AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = NBSupCent_E ;Animation = NBSupCent_E.NBSupCent_E ;AnimationMode = LOOP End ConditionState = SNOW Model = NBSupCent_S ;Animation = NBSupCent.NBSupCent ;AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = NBSupCent_DS ;Animation = NBSupCent_D.NBSupCent_D ;AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBSupCent_ES ;Animation = NBSupCent_E.NBSupCent_E ;AnimationMode = LOOP End ConditionState = SNOW NIGHT Model = NBSupCent_NS ;Animation = NBSupCent.NBSupCent ;AnimationMode = LOOP End ConditionState = DAMAGED SNOW NIGHT Model = NBSupCent_DNS ;Animation = NBSupCent_D.NBSupCent_D ;AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = NBSupCent_ENS ;Animation = NBSupCent_E.NBSupCent_E ;AnimationMode = LOOP End ConditionState = NIGHT Model = NBSupCent_N ;Animation = NBSupCent_N.NBSupCent_N ;AnimationMode = LOOP End ConditionState = NIGHT DAMAGED Model = NBSupCent_DN ;Animation = NBSupCent_N.NBSupCent_N ;AnimationMode = LOOP End ConditionState = NIGHT REALLYDAMAGED RUBBLE Model = NBSupCent_EN ;Animation = NBSupCent_N.NBSupCent_N ;AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent ;Animation = NBSupCent.NBSupCent ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBSupCent_D ;Animation = NBSupCent_D.NBSupCent_D ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBSupCent_E ;Animation = NBSupCent_E.NBSupCent_E ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBSupCent_N ;Animation = NBSupCent_N.NBSupCent_N ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBSupCent_DN ;Animation = NBSupCent_DN.NBSupCent_DN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBSupCent_EN ;Animation = NBSupCent_EN.NBSupCent_EN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBSupCent_S ;Animation = NBSupCent_S.NBSupCent_S ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBSupCent_DS ;Animation = NBSupCent_DS.NBSupCent_DS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBSupCent_ES ;Animation = NBSupCent_ES.NBSupCent_ES ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBSupCent_NS ;Animation = NBSupCent_NS.NBSupCent_NS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBSupCent_DNS ;Animation = NBSupCent_DNS.NBSupCent_DNS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBSupCent_ENS ;Animation = NBSupCent_ENS.NBSupCent_ENS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A4 Animation = NBSupCent_A4.NBSupCent_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A4N Animation = NBSupCent_A4N.NBSupCent_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A4S Animation = NBSupCent_A4S.NBSupCent_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A4SN Animation = NBSupCent_A4SN.NBSupCent_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBSupCent_A4 Animation = NBSupCent_A4.NBSupCent_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBSupCent_A4N Animation = NBSupCent_A4N.NBSupCent_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBSupCent_A4S Animation = NBSupCent_A4S.NBSupCent_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBSupCent_A4SN Animation = NBSupCent_A4SN.NBSupCent_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBSupCent_A4 Animation = NBSupCent_A4.NBSupCent_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBSupCent_A4N Animation = NBSupCent_A4N.NBSupCent_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBSupCent_A4S Animation = NBSupCent_A4S.NBSupCent_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBSupCent_A4SN Animation = NBSupCent_A4SN.NBSupCent_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBSupCent_A6 Animation = NBSupCent_A6.NBSupCent_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBSupCent_A6N Animation = NBSupCent_A6N.NBSupCent_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBSupCent_A6S Animation = NBSupCent_A6S.NBSupCent_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBSupCent_A6SN Animation = NBSupCent_A6SN.NBSupCent_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBSupCent_A6 Animation = NBSupCent_A6.NBSupCent_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBSupCent_A6N Animation = NBSupCent_A6N.NBSupCent_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBSupCent_A6S Animation = NBSupCent_A6S.NBSupCent_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBSupCent_A6SN Animation = NBSupCent_A6SN.NBSupCent_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBSupCent_A6 Animation = NBSupCent_A6.NBSupCent_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBSupCent_A6N Animation = NBSupCent_A6N.NBSupCent_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBSupCent_A6S Animation = NBSupCent_A6S.NBSupCent_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBSupCent_A6SN Animation = NBSupCent_A6SN.NBSupCent_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5 Animation = NBSupCent_A5.NBSupCent_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5N Animation = NBSupCent_A5N.NBSupCent_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5S Animation = NBSupCent_A5S.NBSupCent_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5SN Animation = NBSupCent_A5SN.NBSupCent_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBSupCent_AB Animation = NBSupCent_AB.NBSupCent_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBSupCent_ABN Animation = NBSupCent_ABN.NBSupCent_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBSupCent_ABS Animation = NBSupCent_ABS.NBSupCent_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBSupCent_ABSN Animation = NBSupCent_ABSN.NBSupCent_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBSupCent_AB Animation = NBSupCent_AB.NBSupCent_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBSupCent_ABN Animation = NBSupCent_ABN.NBSupCent_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBSupCent_ABS Animation = NBSupCent_ABS.NBSupCent_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBSupCent_ABSN Animation = NBSupCent_ABSN.NBSupCent_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:SupplyCenter Side = ChinaNukeGeneral EditorSorting = STRUCTURE Prerequisites Object = Nuke_ChinaPowerPlant End BuildCost = 1500 RefundValue = 450 ; With nothing (or zero) listed, we sell for half price. BuildTime = 10.0 ; in seconds EnergyProduction = -1 CommandSet = Nuke_ChinaSupplyCenterCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = SupplyCenterChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CASH_GENERATOR SCORE CAPTURABLE AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY CANNOT_BUILD_NEAR_SUPPLIES FS_SUPPLY_CENTER Body = StructureBody ModuleTag_05 MaxHealth = 2000.0 InitialHealth = 2000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = SupplyCenterCreate ModuleTag_06 ;nothing End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_SmallStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_10 ; nothing End Behavior = SupplyCenterProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 52.0 Y: 0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = SpawnBehavior ModuleTag_12 SpawnNumber = 1 SpawnReplaceDelay = 9999 SpawnTemplateName = Nuke_ChinaVehicleSupplyTruck OneShot = Yes CanReclaimOrphans = No SlavesHaveFreeWill = Yes End Behavior = SupplyCenterDockUpdate ModuleTag_13 AllowsPassthrough = No ;You can't drive through this guy while docking. Use this when the dock points are all outside NumberApproachPositions = -1 ; This is a Boneless dock, so this means infinite can approach End Behavior = GenerateMinefieldBehavior ModuleTag_14 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = FlammableUpdate ModuleTag_16 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_17 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = Nuke_ChinaSupplyCenterCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Geometry = BOX GeometryMajorRadius = 52.0 GeometryMinorRadius = 47.0 GeometryHeight = 30.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Nuke_ChinaBarracks ; *** ART Parameters *** SelectPortrait = SNBarracks_L ButtonImage = SNBarracks Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = NBBarracks ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks.NBBarracks AnimationMode = LOOP End ConditionState = DAMAGED Model = NBBarracks_D ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_D.NBBarracks_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = NBBarracks_E ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_E.NBBarracks_E AnimationMode = LOOP End ; day SNOW ConditionState = SNOW Model = NBBarracks_S ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_S.NBBarracks_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = NBBarracks_DS ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_DS.NBBarracks_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBBarracks_ES ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_ES.NBBarracks_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = NBBarracks_N ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_N.NBBarracks_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = NBBarracks_DN ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_DN.NBBarracks_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBBarracks_EN ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_EN.NBBarracks_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = NBBarracks_NS ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_NS.NBBarracks_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = NBBarracks_DNS ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_DNS.NBBarracks_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBBarracks_ENS ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_ENS.NBBarracks_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks Animation = NBBarracks.NBBarracks AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBBarracks_D Animation = NBBarracks_D.NBBarracks_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBBarracks_E Animation = NBBarracks_E.NBBarracks_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBBarracks_N Animation = NBBarracks_N.NBBarracks_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBBarracks_DN Animation = NBBarracks_DN.NBBarracks_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBBarracks_EN Animation = NBBarracks_EN.NBBarracks_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBBarracks_S Animation = NBBarracks_S.NBBarracks_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBBarracks_DS Animation = NBBarracks_DS.NBBarracks_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBBarracks_ES Animation = NBBarracks_ES.NBBarracks_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBBarracks_NS Animation = NBBarracks_NS.NBBarracks_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBBarracks_DNS Animation = NBBarracks_DNS.NBBarracks_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBBarracks_ENS Animation = NBBarracks_ENS.NBBarracks_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A4 Animation = NBBarracks_A4.NBBarracks_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A4N Animation = NBBarracks_A4N.NBBarracks_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A4S Animation = NBBarracks_A4S.NBBarracks_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A4SN Animation = NBBarracks_A4SN.NBBarracks_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBBarracks_A4 Animation = NBBarracks_A4.NBBarracks_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBBarracks_A4N Animation = NBBarracks_A4N.NBBarracks_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBBarracks_A4S Animation = NBBarracks_A4S.NBBarracks_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBBarracks_A4SN Animation = NBBarracks_A4SN.NBBarracks_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBBarracks_A4 Animation = NBBarracks_A4.NBBarracks_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBBarracks_A4N Animation = NBBarracks_A4N.NBBarracks_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBBarracks_A4S Animation = NBBarracks_A4S.NBBarracks_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBBarracks_A4SN Animation = NBBarracks_A4SN.NBBarracks_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBBarracks_A6 Animation = NBBarracks_A6.NBBarracks_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBBarracks_A6N Animation = NBBarracks_A6N.NBBarracks_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBBarracks_A6S Animation = NBBarracks_A6S.NBBarracks_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBBarracks_A6SN Animation = NBBarracks_A6SN.NBBarracks_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBBarracks_A6 Animation = NBBarracks_A6.NBBarracks_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBBarracks_A6N Animation = NBBarracks_A6N.NBBarracks_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBBarracks_A6S Animation = NBBarracks_A6S.NBBarracks_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBBarracks_A6SN Animation = NBBarracks_A6SN.NBBarracks_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBBarracks_A6 Animation = NBBarracks_A6.NBBarracks_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBBarracks_A6N Animation = NBBarracks_A6N.NBBarracks_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBBarracks_A6S Animation = NBBarracks_A6S.NBBarracks_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBBarracks_A6SN Animation = NBBarracks_A6SN.NBBarracks_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A5 Animation = NBBarracks_A5.NBBarracks_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A5N Animation = NBBarracks_A5N.NBBarracks_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A5S Animation = NBBarracks_A5S.NBBarracks_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A5SN Animation = NBBarracks_A5SN.NBBarracks_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBBarracks_AB Animation = NBBarracks_AB.NBBarracks_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBBarracks_ABN Animation = NBBarracks_ABN.NBBarracks_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBBarracks_ABS Animation = NBBarracks_ABS.NBBarracks_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBBarracks_ABSN Animation = NBBarracks_ABSN.NBBarracks_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBBarracks_AB Animation = NBBarracks_AB.NBBarracks_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBBarracks_ABN Animation = NBBarracks_ABN.NBBarracks_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBBarracks_ABS Animation = NBBarracks_ABS.NBBarracks_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBBarracks_ABSN Animation = NBBarracks_ABSN.NBBarracks_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:Barracks Side = ChinaNukeGeneral EditorSorting = STRUCTURE BuildCost = 500 BuildTime = 10.0 ; in seconds EnergyProduction = 0 CommandSet = Nuke_ChinaBarracksCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 100 100 100 100 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = BarracksChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE HEAL_PAD SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_BARRACKS Body = StructureBody ModuleTag_05 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = HealContain ModuleTag_06 ContainMax = 10 ;way bigger than the # of objects we can have TimeForFullHeal = 2000 ;(in milliseconds) AllowInsideKindOf = INFANTRY AllowAlliesInside = Yes AllowNeutralInside = No AllowEnemiesInside = No End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_10 QuantityModifier = Nuke_ChinaInfantryRedguard 2 End Behavior = QueueProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: 0.0 Y: -25.0 Z:0.0 NaturalRallyPoint = X: 36.0 Y: -25.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML ExitDelay = 300 ; Mainly for the multiple produced Red Guard. Make them come out one at a time. End Behavior = GenerateMinefieldBehavior ModuleTag_12 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_15 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = Nuke_ChinaBarracksCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Geometry = BOX GeometryMajorRadius = 36.0 GeometryMinorRadius = 44.0 GeometryHeight = 30.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Nuke_ChinaWarFactory ; *** ART Parameters *** SelectPortrait = SNWarFact_L ButtonImage = SNWarFact ; ------------ the main factory itself ----------------- Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day DefaultConditionState Model = NBWarFact End ConditionState = DAMAGED Model = NBWarFact_D ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE Model = NBWarFact_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore End ConditionState = SNOW Model = NBWarFact_S End ConditionState = DAMAGED SNOW Model = NBWarFact_DS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBWarFact_ES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore End ; night ********************************************** ConditionState = NIGHT Model = NBWarFact_N End ConditionState = DAMAGED NIGHT Model = NBWarFact_DN ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBWarFact_EN ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore End ; night SNOW ConditionState = NIGHT SNOW Model = NBWarFact_NS End ConditionState = DAMAGED NIGHT SNOW Model = NBWarFact_DNS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBWarFact_ENS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact ;Animation = NBWarFact.NBWarFact ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBWarFact_D ;Animation = NBWarFact_D.NBWarFact_D ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBWarFact_E ;Animation = NBWarFact_E.NBWarFact_E ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBWarFact_N ;Animation = NBWarFact_N.NBWarFact_N ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBWarFact_DN ;Animation = NBWarFact_DN.NBWarFact_DN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBWarFact_EN ;Animation = NBWarFact_EN.NBWarFact_EN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBWarFact_S ;Animation = NBWarFact_S.NBWarFact_S ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBWarFact_DS ;Animation = NBWarFact_DS.NBWarFact_DS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBWarFact_ES ;Animation = NBWarFact_ES.NBWarFact_ES ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBWarFact_NS ;Animation = NBWarFact_NS.NBWarFact_NS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBWarFact_DNS ;Animation = NBWarFact_DNS.NBWarFact_DNS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBWarFact_ENS ;Animation = NBWarFact_ENS.NBWarFact_ENS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------------ the construction crane ------------ Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = None Model = NBWarFact_A1 Animation = NBWarFact_A1.NBWarFact_A1 AnimationMode = LOOP WaitForStateToFinishIfPossible = TransitionFinishBeforeSwitch End ConditionState = DAMAGED Model = NBWarFact_A1D Animation = NBWarFact_A1D.NBWarFact_A1D AnimationMode = LOOP WaitForStateToFinishIfPossible = TransitionFinishBeforeSwitch End ConditionState = REALLYDAMAGED RUBBLE Model = NBWarFact_A1E Animation = NBWarFact_A1E.NBWarFact_A1E AnimationMode = LOOP WaitForStateToFinishIfPossible = TransitionFinishBeforeSwitch End ConditionState = ACTIVELY_CONSTRUCTING Model = NBWarFact_A2 Animation = NBWarFact_A2.NBWarFact_A2 AnimationMode = ONCE TransitionKey = TransitionFinishBeforeSwitch End ConditionState = ACTIVELY_CONSTRUCTING DAMAGED Model = NBWarFact_A2D Animation = NBWarFact_A2D.NBWarFact_A2D AnimationMode = ONCE TransitionKey = TransitionFinishBeforeSwitch End ConditionState = ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE Model = NBWarFact_A2E Animation = NBWarFact_A2E.NBWarFact_A2E AnimationMode = ONCE TransitionKey = TransitionFinishBeforeSwitch End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A1 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = SOLD DAMAGED REALLYDAMAGED RUBBLE Model = NONE End End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A4 Animation = NBWarFact_A4.NBWarFact_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A4N Animation = NBWarFact_A4N.NBWarFact_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A4S Animation = NBWarFact_A4S.NBWarFact_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A4SN Animation = NBWarFact_A4SN.NBWarFact_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire End TransitionState = DOWN_DEFAULT UP_DAY Model = NBWarFact_A4 Animation = NBWarFact_A4.NBWarFact_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBWarFact_A4N Animation = NBWarFact_A4N.NBWarFact_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBWarFact_A4S Animation = NBWarFact_A4S.NBWarFact_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBWarFact_A4SN Animation = NBWarFact_A4SN.NBWarFact_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBWarFact_A4 Animation = NBWarFact_A4.NBWarFact_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBWarFact_A4N Animation = NBWarFact_A4N.NBWarFact_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBWarFact_A4S Animation = NBWarFact_A4S.NBWarFact_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBWarFact_A4SN Animation = NBWarFact_A4SN.NBWarFact_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBWarFact_A6 Animation = NBWarFact_A6.NBWarFact_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBWarFact_A6N Animation = NBWarFact_A6N.NBWarFact_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBWarFact_A6S Animation = NBWarFact_A6S.NBWarFact_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBWarFact_A6SN Animation = NBWarFact_A6SN.NBWarFact_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBWarFact_A6 Animation = NBWarFact_A6.NBWarFact_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBWarFact_A6N Animation = NBWarFact_A6N.NBWarFact_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBWarFact_A6S Animation = NBWarFact_A6S.NBWarFact_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBWarFact_A6SN Animation = NBWarFact_A6SN.NBWarFact_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBWarFact_A6 Animation = NBWarFact_A6.NBWarFact_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBWarFact_A6N Animation = NBWarFact_A6N.NBWarFact_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBWarFact_A6S Animation = NBWarFact_A6S.NBWarFact_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBWarFact_A6SN Animation = NBWarFact_A6SN.NBWarFact_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------------ the construction conveyor belt ------------ Draw = W3DModelDraw ModuleTag_05 OkToChangeModelColor = Yes DefaultConditionState Model = NBWarFact_A7 Animation = NBWarFact_A7.NBWarFact_A7 AnimationMode = LOOP ; Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = SNOW NIGHT AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState = ACTIVELY_CONSTRUCTING Model = NBWarFact_A7 Animation = NBWarFact_A7.NBWarFact_A7 AnimationMode = LOOP ; Flags = START_FRAME_FIRST End AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING AliasConditionState = SNOW ACTIVELY_CONSTRUCTING AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING AliasConditionState = NIGHT DAMAGED ACTIVELY_CONSTRUCTING AliasConditionState = SNOW DAMAGED ACTIVELY_CONSTRUCTING AliasConditionState = SNOW NIGHT DAMAGED ACTIVELY_CONSTRUCTING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE ACTIVELY_CONSTRUCTING AliasConditionState = SNOW REALLYDAMAGED RUBBLE ACTIVELY_CONSTRUCTING AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ACTIVELY_CONSTRUCTING ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A7 Animation = NBWarFact_A7.NBWarFact_A7 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- the factory door ------------------- Draw = W3DModelDraw ModuleTag_06 DefaultConditionState Model = NBWarFact_A8 Animation = NBWarFact_A8.NBWarFact_A8 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = DAMAGED Model = NBWarFact_A8D Animation = NBWarFact_A8D.NBWarFact_A8D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = NBWarFact_A8E Animation = NBWarFact_A8E.NBWarFact_A8E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = NBWarFact_A8 Animation = NBWarFact_A8.NBWarFact_A8 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = NIGHT SNOW DOOR_1_OPENING ConditionState = DOOR_1_OPENING DAMAGED Model = NBWarFact_A8D Animation = NBWarFact_A8D.NBWarFact_A8D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = NBWarFact_A8E Animation = NBWarFact_A8E.NBWarFact_A8E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_CLOSING Model = NBWarFact_A8 Animation = NBWarFact_A8.NBWarFact_A8 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DOOR_1_CLOSING ConditionState = DOOR_1_CLOSING DAMAGED Model = NBWarFact_A8D Animation = NBWarFact_A8D.NBWarFact_A8D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_CLOSING DAMAGED ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = NBWarFact_A8E Animation = NBWarFact_A8E.NBWarFact_A8E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_OPEN Model = NBWarFact_A8 Animation = NBWarFact_A8.NBWarFact_A8 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = NBWarFact_A8D Animation = NBWarFact_A8D.NBWarFact_A8D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN DAMAGED ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = NBWarFact_A8E Animation = NBWarFact_A8E.NBWarFact_A8E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBWarFact_A8D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBWarFact_A8E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5 Animation = NBWarFact_A5.NBWarFact_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5N Animation = NBWarFact_A5N.NBWarFact_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5S Animation = NBWarFact_A5S.NBWarFact_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBWarFact_A5SN Animation = NBWarFact_A5SN.NBWarFact_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBWarFact_AB Animation = NBWarFact_AB.NBWarFact_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBWarFact_ABN Animation = NBWarFact_ABN.NBWarFact_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBWarFact_ABS Animation = NBWarFact_ABS.NBWarFact_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBWarFact_ABSN Animation = NBWarFact_ABSN.NBWarFact_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBWarFact_AB Animation = NBWarFact_AB.NBWarFact_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBWarFact_ABN Animation = NBWarFact_ABN.NBWarFact_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBWarFact_ABS Animation = NBWarFact_ABS.NBWarFact_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBWarFact_ABSN Animation = NBWarFact_ABSN.NBWarFact_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:WarFactory Side = ChinaNukeGeneral EditorSorting = STRUCTURE Prerequisites Object = Nuke_ChinaSupplyCenter End BuildCost = 2000 BuildTime = 15.0 ; in seconds EnergyProduction = -1 CommandSet = Nuke_ChinaWarFactoryCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = WarFactoryChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE REPAIR_PAD SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_WARFACTORY Body = StructureBody ModuleTag_08 MaxHealth = 2000.0 InitialHealth = 2000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = DestroyDie ModuleTag_09 ;nothing End Behavior = CreateObjectDie ModuleTag_10 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_11 DeathFX = FX_StructureMediumDeath End Behavior = ProductionUpdate ModuleTag_12 NumDoorAnimations = 1 DoorOpeningTime = 4000 ;in mSeconds DoorWaitOpenTime = 2000 ;in mSeconds DoorCloseTime = 5000 ;in mSeconds ConstructionCompleteDuration = 1500 ;in mSeconds End Behavior = DefaultProductionExitUpdate ModuleTag_13 UnitCreatePoint = X: 0.0 Y:-27.0 Z:0.0 NaturalRallyPoint = X: 57.0 Y:-27.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RepairDockUpdate ModuleTag_14 TimeForFullHeal = 5000 ;(in milliseconds) NumberApproachPositions = 5 End Behavior = FlammableUpdate ModuleTag_16 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = GenerateMinefieldBehavior ModuleTag_22 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = TransitionDamageFX ModuleTag_23 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = Nuke_ChinaWarFactoryCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Geometry = BOX GeometryMajorRadius = 57.0 GeometryMinorRadius = 61.0 GeometryHeight = 30.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Nuke_ChinaBunker ; *** ART Parameters *** SelectPortrait = SNBunker_L ButtonImage = SNBunker Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;day ConditionState = NONE Model = NBBunker End ConditionState = DAMAGED Model = NBBunker_D ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE Model = NBBunker_E ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire04 SmolderingFlameCore ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire05 SmolderingFlameCore ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End ConditionState = GARRISONED Model = NBBunker_G End ConditionState = DAMAGED GARRISONED Model = NBBunker_DG ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE GARRISONED Model = NBBunker_EG ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire04 SmolderingFlameCore ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire05 SmolderingFlameCore ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End ConditionState = SNOW Model = NBBunker_S End ConditionState = DAMAGED SNOW Model = NBBunker_DS ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBBunker_ES ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire04 SmolderingFlameCore ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire05 SmolderingFlameCore ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End ConditionState = SNOW GARRISONED Model = NBBunker_SG End ConditionState = DAMAGED SNOW GARRISONED Model = NBBunker_DSG ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE SNOW GARRISONED Model = NBBunker_ESG ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire04 SmolderingFlameCore ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire05 SmolderingFlameCore ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End ;night ConditionState = NIGHT Model = NBBunker_N End ConditionState = DAMAGED NIGHT Model = NBBunker_DN ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBBunker_EN ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire04 SmolderingFlameCore ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire05 SmolderingFlameCore ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End ;night ConditionState = NIGHT GARRISONED Model = NBBunker_NG End ConditionState = DAMAGED NIGHT GARRISONED Model = NBBunker_DNG ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE NIGHT GARRISONED Model = NBBunker_ENG ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire04 SmolderingFlameCore ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire05 SmolderingFlameCore ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End ;night snow ConditionState = NIGHT SNOW Model = NBBunker_NS End ConditionState = DAMAGED NIGHT SNOW Model = NBBunker_DNS ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBBunker_ENS ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire04 SmolderingFlameCore ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire05 SmolderingFlameCore ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End ;night snow ConditionState = NIGHT SNOW GARRISONED Model = NBBunker_NSG End ConditionState = DAMAGED NIGHT SNOW GARRISONED Model = NBBunker_DNSG ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFlameCore End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW GARRISONED Model = NBBunker_ENSG ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingFlameCore ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire02 SmolderingFlameCore ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire03 SmolderingFlameCore ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire04 SmolderingFlameCore ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire05 SmolderingFlameCore ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBunker ;Animation = NBBunker.NBBunker ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBBunker_D ;Animation = NBBunker_D.NBBunker_D ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBBunker_E ;Animation = NBBunker_E.NBBunker_E ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBBunker_N ;Animation = NBBunker_N.NBBunker_N ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBBunker_DN ;Animation = NBBunker_DN.NBBunker_DN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBBunker_EN ;Animation = NBBunker_EN.NBBunker_EN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBBunker_S ;Animation = NBBunker_S.NBBunker_S ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBBunker_DS ;Animation = NBBunker_DS.NBBunker_DS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBBunker_ES ;Animation = NBBunker_ES.NBBunker_ES ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBBunker_NS ;Animation = NBBunker_NS.NBBunker_NS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBBunker_DNS ;Animation = NBBunker_DNS.NBBunker_DNS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBBunker_ENS ; Animation = NBBunker_ENS.NBBunker_ENS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD GARRISONED AliasConditionState = SOLD DAMAGED GARRISONED AliasConditionState = SOLD REALLYDAMAGED GARRISONED AliasConditionState = SOLD NIGHT GARRISONED AliasConditionState = SOLD NIGHT DAMAGED GARRISONED AliasConditionState = SOLD NIGHT REALLYDAMAGED GARRISONED AliasConditionState = SOLD SNOW GARRISONED AliasConditionState = SOLD SNOW DAMAGED GARRISONED AliasConditionState = SOLD SNOW REALLYDAMAGED GARRISONED AliasConditionState = SOLD NIGHT SNOW GARRISONED AliasConditionState = SOLD NIGHT SNOW DAMAGED GARRISONED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED GARRISONED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBunker_A4 Animation = NBBunker_A4.NBBunker_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBunker_A4N Animation = NBBunker_A4N.NBBunker_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBunker_A4S Animation = NBBunker_A4S.NBBunker_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBunker_A4SN Animation = NBBunker_A4SN.NBBunker_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBBunker_A4 Animation = NBBunker_A4.NBBunker_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBBunker_A4N Animation = NBBunker_A4N.NBBunker_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBBunker_A4S Animation = NBBunker_A4S.NBBunker_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBBunker_A4SN Animation = NBBunker_A4SN.NBBunker_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBBunker_A4 Animation = NBBunker_A4.NBBunker_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBBunker_A4N Animation = NBBunker_A4N.NBBunker_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBBunker_A4S Animation = NBBunker_A4S.NBBunker_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBBunker_A4SN Animation = NBBunker_A4SN.NBBunker_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBBunker_A6 Animation = NBBunker_A6.NBBunker_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBBunker_A6N Animation = NBBunker_A6N.NBBunker_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBBunker_A6S Animation = NBBunker_A6S.NBBunker_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBBunker_A6SN Animation = NBBunker_A6SN.NBBunker_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBBunker_A6 Animation = NBBunker_A6.NBBunker_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBBunker_A6N Animation = NBBunker_A6N.NBBunker_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBBunker_A6S Animation = NBBunker_A6S.NBBunker_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBBunker_A6SN Animation = NBBunker_A6SN.NBBunker_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBBunker_A6 Animation = NBBunker_A6.NBBunker_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBBunker_A6N Animation = NBBunker_A6N.NBBunker_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBBunker_A6S Animation = NBBunker_A6S.NBBunker_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBBunker_A6SN Animation = NBBunker_A6SN.NBBunker_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBBunker_A5 Animation = NBBunker_A5.NBBunker_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBBunker_A5N Animation = NBBunker_A5N.NBBunker_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBBunker_A5S Animation = NBBunker_A5S.NBBunker_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBBunker_A5SN Animation = NBBunker_A5SN.NBBunker_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBBunker_AB Animation = NBBunker_AB.NBBunker_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBBunker_ABN Animation = NBBunker_ABN.NBBunker_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBBunker_ABS Animation = NBBunker_ABS.NBBunker_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBBunker_ABSN Animation = NBBunker_ABSN.NBBunker_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBBunker_AB Animation = NBBunker_AB.NBBunker_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBBunker_ABN Animation = NBBunker_ABN.NBBunker_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBBunker_ABS Animation = NBBunker_ABS.NBBunker_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBBunker_ABSN Animation = NBBunker_ABSN.NBBunker_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:Bunker Side = ChinaNukeGeneral EditorSorting = STRUCTURE Prerequisites Object = Nuke_ChinaBarracks End BuildCost = 400 BuildTime = 5.0 ; in seconds EnergyProduction = 0 VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End CommandSet = Nuke_ChinaBunkerCommandSet ; *** AUDIO Parameters *** VoiceSelect = BunkerSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** KindOf = PRELOAD STRUCTURE SELECTABLE STICK_TO_TERRAIN_SLOPE IMMOBILE SCORE FS_BASE_DEFENSE GARRISONABLE_UNTIL_DESTROYED IMMUNE_TO_CAPTURE Body = StructureBody ModuleTag_05 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End ; Behavior = FXListDie ModuleTag_07 ; DeathFX = FX_SmallStructureDeath ; End ExperienceValue = 20 20 20 20 ; Experience point value at each level Behavior = GarrisonContain ModuleTag_08 ContainMax = 5 EnterSound = GarrisonEnter ExitSound = GarrisonExit ImmuneToClearBuildingAttacks = Yes End Behavior = GenerateMinefieldBehavior ModuleTag_09 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = ProductionUpdate ModuleTag_10 ; nothing, but is required if we have any Object-level Upgrades! End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_14 DeathFX = FX_StructureSmallDeath End Behavior = DestroyDie ModuleTag_06 ;nothing End Behavior = TransitionDamageFX ModuleTag_15 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = Nuke_ChinaBunkerCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Geometry = BOX GeometryMajorRadius = 16.0 GeometryMinorRadius = 16.0 GeometryHeight = 20.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Nuke_ChinaPropagandaCenter ; *** ART Parameters *** SelectPortrait = SNPropCentr_L ButtonImage = SNPropCentr Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;day ConditionState = NONE Model = NBPCenter Animation = NBPCenter.NBPCenter AnimationMode = LOOP End ConditionState = DAMAGED Model = NBPCenter_D Animation = NBPCenter_D.NBPCenter_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = NBPCenter_E Animation = NBPCenter_E.NBPCenter_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Spark01 End ;night ConditionState = NIGHT Model = NBPCenter_N Animation = NBPCenter_N.NBPCenter_N AnimationMode = LOOP End ;damaged ConditionState = DAMAGED NIGHT Model = NBPCenter_DN Animation = NBPCenter_DN.NBPCenter_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ;reallydamaged ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBPCenter_EN Animation = NBPCenter_EN.NBPCenter_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Spark01 End ConditionState = SNOW Model = NBPCenter_S Animation = NBPCenter_S.NBPCenter_S AnimationMode = LOOP End ;damaged ConditionState = DAMAGED SNOW Model = NBPCenter_DS Animation = NBPCenter_DS.NBPCenter_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ;reallydamaged ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBPCenter_ES Animation = NBPCenter_ES.NBPCenter_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Spark01 End ;night ConditionState = NIGHT SNOW Model = NBPCenter_NS Animation = NBPCenter_NS.NBPCenter_NS AnimationMode = LOOP End ;damaged ConditionState = DAMAGED NIGHT SNOW Model = NBPCenter_DNS Animation = NBPCenter_DNS.NBPCenter_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ;reallydamaged ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBPCenter_ENS Animation = NBPCenter_ENS.NBPCenter_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Spark01 End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter Animation = NBPCenter.NBPCenter AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBPCenter_D Animation = NBPCenter_D.NBPCenter_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBPCenter_E Animation = NBPCenter_E.NBPCenter_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBPCenter_N Animation = NBPCenter_N.NBPCenter_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBPCenter_DN Animation = NBPCenter_DN.NBPCenter_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBPCenter_EN Animation = NBPCenter_EN.NBPCenter_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBPCenter_S Animation = NBPCenter_S.NBPCenter_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBPCenter_DS Animation = NBPCenter_DS.NBPCenter_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBPCenter_ES Animation = NBPCenter_ES.NBPCenter_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBPCenter_NS Animation = NBPCenter_NS.NBPCenter_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBPCenter_DNS Animation = NBPCenter_DNS.NBPCenter_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBPCenter_ENS Animation = NBPCenter_ENS.NBPCenter_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- the factory door ------------------- Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = NBPCenter_A1 Animation = NBPCenter_A1.NBPCenter_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED AliasConditionState = SNOW REALLYDAMAGED AliasConditionState = NIGHT SNOW REALLYDAMAGED ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED RUBBLE AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED RUBBLE AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED RUBBLE AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A1 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT SNOW DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT REALLYDAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW REALLYDAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT SNOW REALLYDAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ; ConditionState = DAMAGED ; Model = NBPCenter_A1D ; Animation = NBPCenter_A1D.NBPCenter_A1D ; AnimationMode = MANUAL ; Flags = START_FRAME_FIRST ; End ; ConditionState = REALLYDAMAGED RUBBLE ; Model = NBPCenter_A1E ; Animation = NBPCenter_A1E.NBPCenter_A1E ; AnimationMode = MANUAL ; Flags = START_FRAME_FIRST ; End ConditionState = DOOR_1_OPENING Model = NBPCenter_A1 Animation = NBPCenter_A1.NBPCenter_A1 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = NIGHT SNOW DOOR_1_OPENING AliasConditionState = NIGHT DAMAGED DOOR_1_OPENING AliasConditionState = SNOW DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT REALLYDAMAGED DOOR_1_OPENING AliasConditionState = SNOW REALLYDAMAGED DOOR_1_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED DOOR_1_OPENING ; ConditionState = DOOR_1_OPENING DAMAGED ; Model = NBPCenter_A1D ; Animation = NBPCenter_A1D.NBPCenter_A1D ; AnimationMode = ONCE ; Flags = START_FRAME_FIRST ; End ; ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE ; Model = NBPCenter_A1E ; Animation = NBPCenter_A1E.NBPCenter_A1E ; AnimationMode = ONCE ; Flags = START_FRAME_FIRST ; End ConditionState = DOOR_1_CLOSING Model = NBPCenter_A1 Animation = NBPCenter_A1.NBPCenter_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DOOR_1_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_1_CLOSING AliasConditionState = SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT REALLYDAMAGED DOOR_1_CLOSING AliasConditionState = SNOW REALLYDAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED DOOR_1_CLOSING ; ConditionState = DOOR_1_CLOSING DAMAGED ; Model = NBPCenter_A1D ; Animation = NBPCenter_A1D.NBPCenter_A1D ; AnimationMode = ONCE_BACKWARDS ; Flags = START_FRAME_LAST ; End ; ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE ; Model = NBPCenter_A1E ; Animation = NBPCenter_A1E.NBPCenter_A1E ; AnimationMode = ONCE_BACKWARDS ; Flags = START_FRAME_LAST ; End ConditionState = DOOR_1_WAITING_OPEN Model = NBPCenter_A1 Animation = NBPCenter_A1.NBPCenter_A1 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED DOOR_1_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW REALLYDAMAGED DOOR_1_WAITING_OPEN ; ConditionState = DOOR_1_WAITING_OPEN DAMAGED ; Model = NBPCenter_A1D ; Animation = NBPCenter_A1D.NBPCenter_A1D ; AnimationMode = MANUAL ; Flags = START_FRAME_LAST ; End ; ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ; Model = NBPCenter_A1E ; Animation = NBPCenter_A1E.NBPCenter_A1E ; AnimationMode = MANUAL ; Flags = START_FRAME_LAST ; End End ; -------- spreading propaganda flashing lights ---------- Draw = W3DModelDraw ModuleTag_03 DefaultConditionState Model = None End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End ConditionState = CONSTRUCTION_COMPLETE Model = NBPCenter_A2 Animation = NBPCenter_A2.NBPCenter_A2 AnimationMode = LOOP Flags = START_FRAME_FIRST End End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A4 Animation = NBPCenter_A4.NBPCenter_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A4N Animation = NBPCenter_A4N.NBPCenter_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A4S Animation = NBPCenter_A4S.NBPCenter_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A4SN Animation = NBPCenter_A4SN.NBPCenter_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPCenter_A4 Animation = NBPCenter_A4.NBPCenter_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPCenter_A4N Animation = NBPCenter_A4N.NBPCenter_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPCenter_A4S Animation = NBPCenter_A4S.NBPCenter_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPCenter_A4SN Animation = NBPCenter_A4SN.NBPCenter_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPCenter_A4 Animation = NBPCenter_A4.NBPCenter_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPCenter_A4N Animation = NBPCenter_A4N.NBPCenter_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPCenter_A4S Animation = NBPCenter_A4S.NBPCenter_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPCenter_A4SN Animation = NBPCenter_A4SN.NBPCenter_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBPCenter_A6 Animation = NBPCenter_A6.NBPCenter_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBPCenter_A6N Animation = NBPCenter_A6N.NBPCenter_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBPCenter_A6S Animation = NBPCenter_A6S.NBPCenter_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBPCenter_A6SN Animation = NBPCenter_A6SN.NBPCenter_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPCenter_A6 Animation = NBPCenter_A6.NBPCenter_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPCenter_A6N Animation = NBPCenter_A6N.NBPCenter_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPCenter_A6S Animation = NBPCenter_A6S.NBPCenter_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPCenter_A6SN Animation = NBPCenter_A6SN.NBPCenter_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPCenter_A6 Animation = NBPCenter_A6.NBPCenter_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPCenter_A6N Animation = NBPCenter_A6N.NBPCenter_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPCenter_A6S Animation = NBPCenter_A6S.NBPCenter_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPCenter_A6SN Animation = NBPCenter_A6SN.NBPCenter_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_06 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A5 Animation = NBPCenter_A5.NBPCenter_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A5N Animation = NBPCenter_A5N.NBPCenter_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A5S Animation = NBPCenter_A5S.NBPCenter_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBPCenter_A5SN Animation = NBPCenter_A5SN.NBPCenter_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBPCenter_AB Animation = NBPCenter_AB.NBPCenter_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBPCenter_ABN Animation = NBPCenter_ABN.NBPCenter_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBPCenter_ABS Animation = NBPCenter_ABS.NBPCenter_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBPCenter_ABSN Animation = NBPCenter_ABSN.NBPCenter_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBPCenter_AB Animation = NBPCenter_AB.NBPCenter_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBPCenter_ABN Animation = NBPCenter_ABN.NBPCenter_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBPCenter_ABS Animation = NBPCenter_ABS.NBPCenter_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBPCenter_ABSN Animation = NBPCenter_ABSN.NBPCenter_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:PropagandaCenter Side = ChinaNukeGeneral EditorSorting = STRUCTURE Prerequisites Object = Nuke_ChinaWarFactory End BuildCost = 2000 BuildTime = 45.0 ; in seconds EnergyProduction = -2 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End CommandSet = Nuke_ChinaPropagandaCenterCommandSet ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = PropagandaCenterSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY FS_ADVANCED_TECH Body = StructureBody ModuleTag_07 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ProductionUpdate ModuleTag_10 ; End Behavior = DestroyDie ModuleTag_12 ; End Behavior = FXListDie ModuleTag_14 DeathFX = FX_StructureMediumDeath End Behavior = GenerateMinefieldBehavior ModuleTag_15 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = FlammableUpdate ModuleTag_17 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_18 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = Nuke_ChinaPropagandaCenterCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Geometry = BOX GeometryMajorRadius = 33.0 GeometryMinorRadius = 57.0 GeometryHeight = 40.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Nuke_ChinaGattlingCannon ; *** ART Parameters *** SelectPortrait = SNGatTower_L ButtonImage = SNGatTower UpgradeCameo1 = Upgrade_ChinaChainGuns Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;--------------------- IDLE -------------------------------------------------- ;------------------------------------------------------------------------------- ; DAY DefaultConditionState Model = NBGattling Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = DAMAGED Model = NBGattling_D Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = SmokeM01 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium End ConditionState = REALLYDAMAGED RUBBLE Model = NBGattling_E Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = Smoke01 SmokeFactionMedium ParticleSysBone = Smoke02 SmokeFactionMedium ParticleSysBone = Smoke03 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium ParticleSysBone = SparkM02 SparksMedium End ; NIGHT --------------------------------------------------------------- ConditionState = NIGHT Model = NBGattling_N Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = DAMAGED NIGHT Model = NBGattling_DN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = SmokeM01 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBGattling_EN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = Smoke01 SmokeFactionMedium ParticleSysBone = Smoke02 SmokeFactionMedium ParticleSysBone = Smoke03 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium ParticleSysBone = SparkM02 SparksMedium End ;SNOW --------------------------------------------------------------- ConditionState = SNOW Model = NBGattling_S Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = DAMAGED SNOW Model = NBGattling_DS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = SmokeM01 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBGattling_ES Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = Smoke01 SmokeFactionMedium ParticleSysBone = Smoke02 SmokeFactionMedium ParticleSysBone = Smoke03 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium ParticleSysBone = SparkM02 SparksMedium End ; NIGHT SNOW --------------------------------------------------------------- ConditionState = NIGHT SNOW Model = NBGattling_NS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = DAMAGED NIGHT SNOW Model = NBGattling_DNS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = SmokeM01 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBGattling_ENS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = MANUAL Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = Smoke01 SmokeFactionMedium ParticleSysBone = Smoke02 SmokeFactionMedium ParticleSysBone = Smoke03 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium ParticleSysBone = SparkM02 SparksMedium End ;---------------- ATTACKING ---------------------------------- ;------------------------------------------------------------- ; DAY ConditionState = ATTACKING Model = NBGattling Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ConditionState = ATTACKING DAMAGED Model = NBGattling_D Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ConditionState = ATTACKING REALLYDAMAGED Model = NBGattling_E Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ;NIGHT --------------------------------------------------------------- ConditionState = ATTACKING NIGHT Model = NBGattling_N Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ConditionState = ATTACKING DAMAGED NIGHT Model = NBGattling_DN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ConditionState = ATTACKING REALLYDAMAGED NIGHT Model = NBGattling_EN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ;SNOW --------------------------------------------------------------- ConditionState = ATTACKING SNOW Model = NBGattling_S Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ConditionState = ATTACKING DAMAGED SNOW Model = NBGattling_DS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ConditionState = ATTACKING REALLYDAMAGED SNOW Model = NBGattling_ES Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ;SNOW NIGHT --------------------------------------------------------------- ConditionState = ATTACKING NIGHT SNOW Model = NBGattling_NS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ConditionState = ATTACKING DAMAGED SNOW NIGHT Model = NBGattling_DNS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ConditionState = ATTACKING REALLYDAMAGED NIGHT SNOW Model = NBGattling_ENS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.5 0.5 ;set this state to animate s l o w l y End ;---------------- CONTINUOUS_FIRE_SLOW ----------------------- ;------------------------------------------------------------- ; DAY ConditionState = CONTINUOUS_FIRE_SLOW ATTACKING Model = NBGattling Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_SLOW DAMAGED ATTACKING Model = NBGattling_D Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED ATTACKING Model = NBGattling_E Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ;NIGHT --------------------------------------------------------------- ConditionState = CONTINUOUS_FIRE_SLOW NIGHT ATTACKING Model = NBGattling_N Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_SLOW DAMAGED NIGHT ATTACKING Model = NBGattling_DN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED NIGHT ATTACKING Model = NBGattling_EN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ;SNOW --------------------------------------------------------------- ConditionState = CONTINUOUS_FIRE_SLOW SNOW ATTACKING Model = NBGattling_S Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_SLOW DAMAGED SNOW ATTACKING Model = NBGattling_DS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED SNOW ATTACKING Model = NBGattling_ES Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ;SNOW NIGHT --------------------------------------------------------------- ConditionState = CONTINUOUS_FIRE_SLOW NIGHT SNOW ATTACKING Model = NBGattling_NS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_SLOW DAMAGED SNOW NIGHT ATTACKING Model = NBGattling_DNS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED NIGHT SNOW ATTACKING Model = NBGattling_ENS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 ;set this state to animate s l o w l y End ;------------- CONTINUOUS_FIRE_MEAN ------------------------ ;----------------------------------------------------------- ;DAY ConditionState = CONTINUOUS_FIRE_MEAN ATTACKING Model = NBGattling Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_MEAN DAMAGED ATTACKING Model = NBGattling_D Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED ATTACKING Model = NBGattling_E Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ;NIGHT --------------------------------------------------------------- ConditionState = CONTINUOUS_FIRE_MEAN NIGHT ATTACKING Model = NBGattling_N Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_MEAN DAMAGED NIGHT ATTACKING Model = NBGattling_DN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED NIGHT ATTACKING Model = NBGattling_EN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ;SNOW --------------------------------------------------------------- ConditionState = CONTINUOUS_FIRE_MEAN SNOW ATTACKING Model = NBGattling_S Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_MEAN DAMAGED SNOW ATTACKING Model = NBGattling_DS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED SNOW ATTACKING Model = NBGattling_ES Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ;NIGHT SNOW --------------------------------------------------------------- ConditionState = CONTINUOUS_FIRE_MEAN NIGHT SNOW ATTACKING Model = NBGattling_NS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_MEAN DAMAGED SNOW NIGHT ATTACKING Model = NBGattling_DNS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED NIGHT SNOW ATTACKING Model = NBGattling_ENS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 1.5 1.5 ;set this state to animate medium-fast End ;------------- CONTINUOUS_FIRE_FAST ------------------------ ;DAY ConditionState = CONTINUOUS_FIRE_FAST ATTACKING Model = NBGattling Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ConditionState = CONTINUOUS_FIRE_FAST DAMAGED ATTACKING Model = NBGattling_D Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED ATTACKING Model = NBGattling_E Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ;NIGHT --------------------------------------------------------------- ConditionState = CONTINUOUS_FIRE_FAST NIGHT ATTACKING Model = NBGattling_N Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ConditionState = CONTINUOUS_FIRE_FAST DAMAGED NIGHT ATTACKING Model = NBGattling_DN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED NIGHT ATTACKING Model = NBGattling_EN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ;SNOW --------------------------------------------------------------- ConditionState = CONTINUOUS_FIRE_FAST SNOW ATTACKING Model = NBGattling_S Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ConditionState = CONTINUOUS_FIRE_FAST DAMAGED SNOW ATTACKING Model = NBGattling_NS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED SNOW ATTACKING Model = NBGattling_ES Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst End ;NIGHT SNOW --------------------------------------------------------------- ConditionState = CONTINUOUS_FIRE_FAST NIGHT SNOW ATTACKING Model = NBGattling_NS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ConditionState = CONTINUOUS_FIRE_FAST DAMAGED SNOW NIGHT ATTACKING Model = NBGattling_DNS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED NIGHT SNOW ATTACKING Model = NBGattling_ENS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP AnimationSpeedFactorRange = 3.0 3.0 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBGattling Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBGattling_D Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBGattling_E Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBGattling_N Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBGattling_DN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBGattling_EN Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBGattling_S Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBGattling_DS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBGattling_ES Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBGattling_NS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBGattling_DNS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBGattling_ENS Animation = NBGattling_A2.NBGattling_A2 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBGattling_A4 Animation = NBGattling_A4.NBGattling_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBGattling_A4N Animation = NBGattling_A4N.NBGattling_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBGattling_A4S Animation = NBGattling_A4S.NBGattling_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBGattling_A4SN Animation = NBGattling_A4SN.NBGattling_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBGattling_A4 Animation = NBGattling_A4.NBGattling_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBGattling_A4N Animation = NBGattling_A4N.NBGattling_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBGattling_A4S Animation = NBGattling_A4S.NBGattling_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBGattling_A4SN Animation = NBGattling_A4SN.NBGattling_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBGattling_A4 Animation = NBGattling_A4.NBGattling_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBGattling_A4N Animation = NBGattling_A4N.NBGattling_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBGattling_A4S Animation = NBGattling_A4S.NBGattling_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBGattling_A4SN Animation = NBGattling_A4SN.NBGattling_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBGattling_A6 Animation = NBGattling_A6.NBGattling_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBGattling_A6N Animation = NBGattling_A6N.NBGattling_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBGattling_A6S Animation = NBGattling_A6S.NBGattling_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBGattling_A6SN Animation = NBGattling_A6SN.NBGattling_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBGattling_A6 Animation = NBGattling_A6.NBGattling_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBGattling_A6N Animation = NBGattling_A6N.NBGattling_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBGattling_A6S Animation = NBGattling_A6S.NBGattling_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBGattling_A6SN Animation = NBGattling_A6SN.NBGattling_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBGattling_A6 Animation = NBGattling_A6.NBGattling_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBGattling_A6N Animation = NBGattling_A6N.NBGattling_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBGattling_A6S Animation = NBGattling_A6S.NBGattling_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBGattling_A6SN Animation = NBGattling_A6SN.NBGattling_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:GattlingCannon Side = ChinaNukeGeneral EditorSorting = STRUCTURE Prerequisites Object = Nuke_ChinaPowerPlant End BuildCost = 1200 BuildTime = 25.0 ; in seconds EnergyProduction = -3 ExperienceValue = 200 200 200 200 ; Experience point value at each level WeaponSet Conditions = None Weapon = PRIMARY GattlingBuildingGun AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT Weapon = SECONDARY GattlingBuildingGunAir AutoChooseSources = SECONDARY FROM_PLAYER FROM_AI FROM_SCRIPT PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT End VisionRange = 360.0 ; Shroud clearing distance AND targeting range ShroudClearingRange = 360 ArmorSet Conditions = None Armor = BaseDefenseArmor DamageFX = StructureDamageFXNoShake End CommandSet = ChinaGattlingCannonCommandSet ;Behavior = AIUpdateInterface ModuleTag_20 ; AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS ; MoodAttackCheckRate = 250 ;End ; *** AUDIO Parameters *** VoiceSelect = GattlingCannonSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop VoiceRapidFire = NoSound End UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;These aren't playing properly (mdp) TurretMoveLoopLoud End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE SCORE FS_BASE_DEFENSE POWERED IMMUNE_TO_CAPTURE Body = StructureBody ModuleTag_05 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = StealthDetectorUpdate ModuleTag_13 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 200 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = GenerateMinefieldBehavior ModuleTag_04 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = AIUpdateInterface ModuleTag_06 Turret ControlledWeaponSlots = PRIMARY SECONDARY TurretTurnRate = 180 // turn rate, in degrees per sec TurretPitchRate = 180 AllowsPitch = Yes FiresWhileTurning = Yes NaturalTurretPitch = 45 ; this keeps it aimed half way between land and sky MinIdleScanInterval = 250 ; in milliseconds MaxIdleScanInterval = 250 ; in milliseconds MinIdleScanAngle = 0 ; in degrees off the natural turret angle MaxIdleScanAngle = 360 ; in degrees off the natural turret angle End AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS; defensive weapon MoodAttackCheckRate = 250 End Behavior = ProductionUpdate ModuleTag_07 ; nothing, but is required if we have any Object-level Upgrades! End Behavior = DestroyDie ModuleTag_08 ;nothing End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureTinyDeath End Behavior = ProductionUpdate ModuleTag_10 ; nothing End Behavior = CreateObjectDie ModuleTag_11 CreationList = OCL_LargeStructureDebris End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_14 ;-------------DESIGNED FOR TINY SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionTinyExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionTinyShockwave End Behavior = WeaponBonusUpgrade ModuleTag_15 TriggeredBy = Upgrade_ChinaChainGuns End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = ChinaGattlingCannonCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Geometry = BOX GeometryMajorRadius = 8.0 GeometryMinorRadius = 8.0 GeometryHeight = 20.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Nuke_ChinaInternetCenter ; *** ART Parameters *** ; ------------ the main building itself ----------------- SelectPortrait = SNIntCnt_L ButtonImage = SNIntCnt UpgradeCameo1 = Upgrade_ChinaSatelliteHackOne UpgradeCameo2 = Upgrade_ChinaSatelliteHackTwo Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; DAY ************************************ DefaultConditionState Model = NBINTCNT Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2 Animation = NBINTCNT_A2.NBINTCNT_A2 AnimationMode = ONCE End ConditionState = USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2F Animation = NBINTCNT_A2F.NBINTCNT_A2F AnimationMode = ONCE End ConditionState = DAMAGED Model = NBINTCNT_D End ConditionState = DAMAGED USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2D Animation = NBINTCNT_A2D.NBINTCNT_A2D AnimationMode = ONCE End ConditionState = DAMAGED USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FD Animation = NBINTCNT_A2FD.NBINTCNT_A2FD AnimationMode = ONCE End ConditionState = REALLYDAMAGED Model = NBINTCNT_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmokeFactionLarge ParticleSysBone = Smoke06 SmokeFactionLarge ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 FireFactionLarge End AliasConditionState = RUBBLE ConditionState = REALLYDAMAGED USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2E Animation = NBINTCNT_A2E.NBINTCNT_A2E AnimationMode = ONCE End AliasConditionState = RUBBLE USER_1 ConditionState = REALLYDAMAGED USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FE Animation = NBINTCNT_A2FE.NBINTCNT_A2FE AnimationMode = ONCE End AliasConditionState = RUBBLE USER_1 USER_2 ;NIGHT *********************************** ConditionState = NIGHT Model = NBINTCNT_N End ConditionState = NIGHT USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2N Animation = NBINTCNT_A2N.NBINTCNT_A2N AnimationMode = ONCE End ConditionState = NIGHT USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FN Animation = NBINTCNT_A2FN.NBINTCNT_A2FN AnimationMode = ONCE End ConditionState = DAMAGED NIGHT Model = NBINTCNT_DN End ConditionState = DAMAGED NIGHT USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2DN Animation = NBINTCNT_A2DN.NBINTCNT_A2DN AnimationMode = ONCE End ConditionState = DAMAGED NIGHT USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FDN Animation = NBINTCNT_A2FDN.NBINTCNT_A2FDN AnimationMode = ONCE End ConditionState = REALLYDAMAGED NIGHT Model = NBINTCNT_EN ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmokeFactionLarge ParticleSysBone = Smoke06 SmokeFactionLarge ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 FireFactionLarge End AliasConditionState = RUBBLE NIGHT ConditionState = REALLYDAMAGED NIGHT USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2EN Animation = NBINTCNT_A2EN.NBINTCNT_A2EN AnimationMode = ONCE End AliasConditionState = RUBBLE NIGHT USER_1 ConditionState = REALLYDAMAGED NIGHT USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FEN Animation = NBINTCNT_A2FEN.NBINTCNT_A2FEN AnimationMode = ONCE End AliasConditionState = RUBBLE NIGHT USER_1 USER_2 ;SNOW ************************************* ConditionState = SNOW Model = NBINTCNT_S End ConditionState = SNOW USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2S Animation = NBINTCNT_A2S.NBINTCNT_A2S AnimationMode = ONCE End ConditionState = SNOW USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FS Animation = NBINTCNT_A2FS.NBINTCNT_A2FS AnimationMode = ONCE End ConditionState = DAMAGED SNOW Model = NBINTCNT_DS End ConditionState = DAMAGED SNOW USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2DS Animation = NBINTCNT_A2DS.NBINTCNT_A2DS AnimationMode = ONCE End ConditionState = DAMAGED SNOW USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FDS Animation = NBINTCNT_A2FDS.NBINTCNT_A2FDS AnimationMode = ONCE End ConditionState = REALLYDAMAGED SNOW Model = NBINTCNT_ES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmokeFactionLarge ParticleSysBone = Smoke06 SmokeFactionLarge ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 FireFactionLarge End AliasConditionState = RUBBLE SNOW ConditionState = REALLYDAMAGED SNOW USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2ES Animation = NBINTCNT_A2ES.NBINTCNT_A2ES AnimationMode = ONCE End AliasConditionState = RUBBLE SNOW USER_1 ConditionState = REALLYDAMAGED SNOW USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FES Animation = NBINTCNT_A2FES.NBINTCNT_A2FES AnimationMode = ONCE End AliasConditionState = RUBBLE SNOW USER_1 USER_2 ;NIGHT SNOW ***************************** ConditionState = NIGHT SNOW Model = NBINTCNT_NS End ConditionState = NIGHT SNOW USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2NS Animation = NBINTCNT_A2NS.NBINTCNT_A2NS AnimationMode = ONCE End ConditionState = NIGHT SNOW USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FNS Animation = NBINTCNT_A2FNS.NBINTCNT_A2FNS AnimationMode = ONCE End ConditionState = DAMAGED NIGHT SNOW Model = NBINTCNT_DNS End ConditionState = DAMAGED NIGHT SNOW USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2DNS Animation = NBINTCNT_A2DNS.NBINTCNT_A2DNS AnimationMode = ONCE End ConditionState = DAMAGED NIGHT SNOW USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FDNS Animation = NBINTCNT_A2FDNS.NBINTCNT_A2FDNS AnimationMode = ONCE End ConditionState = REALLYDAMAGED NIGHT SNOW Model = NBINTCNT_ENS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmokeFactionLarge ParticleSysBone = Smoke06 SmokeFactionLarge ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 FireFactionLarge End AliasConditionState = RUBBLE NIGHT SNOW ConditionState = REALLYDAMAGED NIGHT SNOW USER_1 ; User 1 is set by an upgrade module. First doors opening Model = NBINTCNT_A2ENS Animation = NBINTCNT_A2ENS.NBINTCNT_A2ENS AnimationMode = ONCE End AliasConditionState = RUBBLE NIGHT SNOW USER_1 ConditionState = REALLYDAMAGED NIGHT SNOW USER_1 USER_2 ; Second doors opening (Can't get the second without the first) Model = NBINTCNT_A2FENS Animation = NBINTCNT_A2FENS.NBINTCNT_A2FENS AnimationMode = ONCE End AliasConditionState = RUBBLE NIGHT SNOW USER_1 USER_2 ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBINTCNT Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBINTCNT_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBINTCNT_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBINTCNT_N Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBINTCNT_DN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBINTCNT_EN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBINTCNT_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBINTCNT_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBINTCNT_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBINTCNT_NS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBINTCNT_DNS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBINTCNT_ENS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION DAMAGED USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION NIGHT USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION SNOW USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED USER_1 USER_2 AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED USER_1 USER_2 AliasConditionState = SOLD USER_1 USER_2 AliasConditionState = SOLD DAMAGED USER_1 USER_2 AliasConditionState = SOLD REALLYDAMAGED USER_1 USER_2 AliasConditionState = SOLD NIGHT USER_1 USER_2 AliasConditionState = SOLD NIGHT DAMAGED USER_1 USER_2 AliasConditionState = SOLD NIGHT REALLYDAMAGED USER_1 USER_2 AliasConditionState = SOLD SNOW USER_1 USER_2 AliasConditionState = SOLD SNOW DAMAGED USER_1 USER_2 AliasConditionState = SOLD SNOW REALLYDAMAGED USER_1 USER_2 AliasConditionState = SOLD NIGHT SNOW USER_1 USER_2 AliasConditionState = SOLD NIGHT SNOW DAMAGED USER_1 USER_2 AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED USER_1 USER_2 ;************************************************************************************************************************** End ; ------------ Fan in back -------------- Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = NBINTCNT_F Animation = NBINTCNT_F.NBINTCNT_F AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End End ; ------------- First Satellite ----------- Draw = W3DModelDraw ModuleTag_03 ConditionState = NONE Model = None TransitionKey = Trans_Down End AliasConditionState = SOLD AliasConditionState = AWAITING_CONSTRUCTION AliasConditionState = ACTIVELY_BEING_CONSTRUCTED AliasConditionState = AWAITING_CONSTRUCTION USER_1 AliasConditionState = ACTIVELY_BEING_CONSTRUCTED USER_1 ConditionState = DAMAGED Model = None TransitionKey = Trans_Down_Damaged End AliasConditionState = SOLD DAMAGED AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = AWAITING_CONSTRUCTION USER_1 DAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED USER_1 DAMAGED ConditionState = REALLYDAMAGED Model = None TransitionKey = Trans_Down_Really_Damaged End AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION USER_1 REALLYDAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED USER_1 REALLYDAMAGED TransitionState = Trans_Down Trans_Up Model = NBINTCNT_AB Animation = NBINTCNT_AB.NBINTCNT_AB AnimationMode = ONCE End TransitionState = Trans_Down_Damaged Trans_Up_Damaged Model = NBINTCNT_DAB Animation = NBINTCNT_DAB.NBINTCNT_DAB AnimationMode = ONCE End TransitionState = Trans_Down_Really_Damaged Trans_Up_Really_Damaged Model = NBINTCNT_EAB Animation = NBINTCNT_EAB.NBINTCNT_EAB AnimationMode = ONCE End ConditionState = USER_1 Model = NBINTCNT_AC Animation = NBINTCNT_AC.NBINTCNT_AC AnimationMode = LOOP TransitionKey = Trans_Up Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = USER_1 DAMAGED Model = NBINTCNT_DAC Animation = NBINTCNT_DAC.NBINTCNT_DAC AnimationMode = LOOP TransitionKey = Trans_Up_Damaged Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = USER_1 REALLYDAMAGED Model = NBINTCNT_EAC Animation = NBINTCNT_EAC.NBINTCNT_EAC AnimationMode = LOOP TransitionKey = Trans_Up_Really_Damaged Flags = MAINTAIN_FRAME_ACROSS_STATES End TransitionState = Trans_Up Trans_Down Model = NBINTCNT_AB Animation = NBINTCNT_AB.NBINTCNT_AB AnimationMode = ONCE_BACKWARDS End TransitionState = Trans_Up_Damaged Trans_Down_Damaged Model = NBINTCNT_DAB Animation = NBINTCNT_DAB.NBINTCNT_DAB AnimationMode = ONCE_BACKWARDS End TransitionState = Trans_Up_Really_Damaged Trans_Down_Really_Damaged Model = NBINTCNT_EAB Animation = NBINTCNT_EAB.NBINTCNT_EAB AnimationMode = ONCE_BACKWARDS End End ; ------------- Second Satellite ----------- Draw = W3DModelDraw ModuleTag_04 ConditionState = NONE Model = None TransitionKey = Trans_Down End AliasConditionState = SOLD AliasConditionState = AWAITING_CONSTRUCTION AliasConditionState = ACTIVELY_BEING_CONSTRUCTED AliasConditionState = AWAITING_CONSTRUCTION USER_1 AliasConditionState = ACTIVELY_BEING_CONSTRUCTED USER_1 ConditionState = DAMAGED Model = None TransitionKey = Trans_Down_Damaged End AliasConditionState = SOLD DAMAGED AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = AWAITING_CONSTRUCTION USER_1 DAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED USER_1 DAMAGED ConditionState = REALLYDAMAGED Model = None TransitionKey = Trans_Down_Really_Damaged End AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION USER_1 REALLYDAMAGED AliasConditionState = ACTIVELY_BEING_CONSTRUCTED USER_1 REALLYDAMAGED TransitionState = Trans_Down Trans_Up Model = NBINTCNT_AF Animation = NBINTCNT_AF.NBINTCNT_AF AnimationMode = ONCE End TransitionState = Trans_Down_Damaged Trans_Up_Damaged Model = NBINTCNT_DAF Animation = NBINTCNT_DAF.NBINTCNT_DAF AnimationMode = ONCE End TransitionState = Trans_Down_Really_Damaged Trans_Up_Really_Damaged Model = NBINTCNT_EAF Animation = NBINTCNT_EAF.NBINTCNT_EAF AnimationMode = ONCE End ConditionState = USER_2 Model = NBINTCNT_AG Animation = NBINTCNT_AG.NBINTCNT_AG AnimationMode = LOOP TransitionKey = Trans_Up Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = USER_2 DAMAGED Model = NBINTCNT_DAG Animation = NBINTCNT_DAG.NBINTCNT_DAG AnimationMode = LOOP TransitionKey = Trans_Up_Damaged Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = USER_2 REALLYDAMAGED Model = NBINTCNT_EAG Animation = NBINTCNT_EAG.NBINTCNT_EAG AnimationMode = LOOP TransitionKey = Trans_Up_Really_Damaged Flags = MAINTAIN_FRAME_ACROSS_STATES End TransitionState = Trans_Up Trans_Down Model = NBINTCNT_AF Animation = NBINTCNT_AF.NBINTCNT_AF AnimationMode = ONCE_BACKWARDS End TransitionState = Trans_Up_Damaged Trans_Down_Damaged Model = NBINTCNT_DAF Animation = NBINTCNT_DAF.NBINTCNT_DAF AnimationMode = ONCE_BACKWARDS End TransitionState = Trans_Up_Really_Damaged Trans_Down_Really_Damaged Model = NBINTCNT_EAF Animation = NBINTCNT_EAF.NBINTCNT_EAF AnimationMode = ONCE_BACKWARDS End End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A4 Animation = NBSupCent_A4.NBSupCent_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A4N Animation = NBSupCent_A4N.NBSupCent_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A4S Animation = NBSupCent_A4S.NBSupCent_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A4SN Animation = NBSupCent_A4SN.NBSupCent_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBSupCent_A4 Animation = NBSupCent_A4.NBSupCent_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBSupCent_A4N Animation = NBSupCent_A4N.NBSupCent_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBSupCent_A4S Animation = NBSupCent_A4S.NBSupCent_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBSupCent_A4SN Animation = NBSupCent_A4SN.NBSupCent_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBSupCent_A4 Animation = NBSupCent_A4.NBSupCent_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBSupCent_A4N Animation = NBSupCent_A4N.NBSupCent_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBSupCent_A4S Animation = NBSupCent_A4S.NBSupCent_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBSupCent_A4SN Animation = NBSupCent_A4SN.NBSupCent_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_06 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBSupCent_A6 Animation = NBSupCent_A6.NBSupCent_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBSupCent_A6N Animation = NBSupCent_A6N.NBSupCent_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBSupCent_A6S Animation = NBSupCent_A6S.NBSupCent_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBSupCent_A6SN Animation = NBSupCent_A6SN.NBSupCent_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBSupCent_A6 Animation = NBSupCent_A6.NBSupCent_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBSupCent_A6N Animation = NBSupCent_A6N.NBSupCent_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBSupCent_A6S Animation = NBSupCent_A6S.NBSupCent_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBSupCent_A6SN Animation = NBSupCent_A6SN.NBSupCent_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBSupCent_A6 Animation = NBSupCent_A6.NBSupCent_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBSupCent_A6N Animation = NBSupCent_A6N.NBSupCent_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBSupCent_A6S Animation = NBSupCent_A6S.NBSupCent_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBSupCent_A6SN Animation = NBSupCent_A6SN.NBSupCent_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5 Animation = NBSupCent_A5.NBSupCent_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5N Animation = NBSupCent_A5N.NBSupCent_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5S Animation = NBSupCent_A5S.NBSupCent_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBSupCent_A5SN Animation = NBSupCent_A5SN.NBSupCent_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBSupCent_AB Animation = NBSupCent_AB.NBSupCent_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBSupCent_ABN Animation = NBSupCent_ABN.NBSupCent_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBSupCent_ABS Animation = NBSupCent_ABS.NBSupCent_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBSupCent_ABSN Animation = NBSupCent_ABSN.NBSupCent_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBSupCent_AB Animation = NBSupCent_AB.NBSupCent_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBSupCent_ABN Animation = NBSupCent_ABN.NBSupCent_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBSupCent_ABS Animation = NBSupCent_ABS.NBSupCent_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBSupCent_ABSN Animation = NBSupCent_ABSN.NBSupCent_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:InternetCenter Side = ChinaNukeGeneral EditorSorting = STRUCTURE BuildCost = 2500 BuildTime = 30.0 ; in seconds EnergyProduction = 0 CommandSet = ChinaInternetCenterCommandSetOne VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmorInternetCenter DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level Prerequisites Object = Nuke_ChinaWarFactory End ;******************************************************************************************************************* MaxSimultaneousOfType = 1 ; *** Kris: DO NOT INCREASE THIS NUMBER -- UNLESS YOU WANT TO INTRODUCE A LOT OF BUGS! *** ;******************************************************************************************************************* ; *** AUDIO Parameters *** VoiceSelect = CommandCenterChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE IMMUNE_TO_CAPTURE MP_COUNT_FOR_VICTORY CAN_ATTACK FS_INTERNET_CENTER Body = StructureBody ModuleTag_08 MaxHealth = 2500.0 InitialHealth = 2500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2700 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = InternetHackContain ModuleTag_10 ; Contain module that gives aiHackInternet command to passengers PassengersAllowedToFire = No Slots = 8 ScatterNearbyOnExit = No HealthRegen%PerSec = 10 DamagePercentToUnits = 50% AllowInsideKindOf = MONEY_HACKER ExitDelay = 500 NumberOfExitPaths = 1 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = No ; AI Will tell people to set their mood to Aggressive on exiting End Behavior = DestroyDie ModuleTag_12 ;nothing End Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_14 DeathFX = FX_StructureMediumDeath End Behavior = SpyVisionUpdate ModuleTag_15 NeedsUpgrade = Yes SelfPowered = Yes ; No SpecialPower module, turns self on and off on timers (No timers means always on) SpyOnKindof = COMMANDCENTER ; Defaults to ALL TriggeredBy = Upgrade_ChinaSatelliteHackOne End Behavior = SpyVisionUpdate ModuleTag_16 NeedsUpgrade = Yes SelfPowered = Yes ; No SpecialPower module, turns self on and off on timers SelfPoweredDuration = 20000 SelfPoweredInterval = 240000 TriggeredBy = Upgrade_ChinaSatelliteHackTwo End Behavior = ArmorUpgrade ModuleTag_30 TriggeredBy = Upgrade_ChinaEMPMines End Behavior = CommandSetUpgrade ModuleTag_31 CommandSet = ChinaInternetCenterCommandSetOneUpgrade TriggeredBy = Upgrade_ChinaMines CommandSetAlt = ChinaInternetCenterCommandSetTwoUpgrade TriggerAlt = Upgrade_ChinaSatelliteHackOne End Behavior = CommandSetUpgrade ModuleTag_32 CommandSet = ChinaInternetCenterCommandSetTwo TriggeredBy = Upgrade_ChinaSatelliteHackOne CommandSetAlt = ChinaInternetCenterCommandSetTwoUpgrade TriggerAlt = Upgrade_ChinaMines End Behavior = ModelConditionUpgrade ModuleTag_18 ConditionFlag = USER_1 TriggeredBy = Upgrade_ChinaSatelliteHackOne End Behavior = ModelConditionUpgrade ModuleTag_19 ConditionFlag = USER_2 TriggeredBy = Upgrade_ChinaSatelliteHackTwo End Behavior = ProductionUpdate ModuleTag_22 End Behavior = GenerateMinefieldBehavior ModuleTag_23 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = FlammableUpdate ModuleTag_24 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_25 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 50.0 GeometryMinorRadius = 50.0 GeometryHeight = 36.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Nuke_ChinaTankBattleMaster ; *** ART Parameters *** SelectPortrait = SNNukeBtleMstr_L ButtonImage = SNBattlemaster UpgradeCameo1 = Upgrade_Nationalism UpgradeCameo2 = Upgrade_ChinaWGUraniumShells UpgradeCameo3 = Upgrade_ChinaFusionReactors UpgradeCameo4 = Upgrade_ChinaIsotopeStability ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = NVBtMstrNG Turret = Turret01 WeaponFireFXBone = PRIMARY Muzzle WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponLaunchBone = PRIMARY Muzzle End ConditionState = REALLYDAMAGED Model = NVBtMstrNG_D Turret = Turret01 WeaponFireFXBone = PRIMARY Muzzle WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponLaunchBone = PRIMARY Muzzle End ConditionState = RUBBLE Model = NVBtMstrNG_D Turret = Turret01 End TrackMarks = EXTnkTrack.tga End ; ***DESIGN parameters *** DisplayName = OBJECT:BattleMaster Side = ChinaNukeGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY Nuke_BattleMasterTankGun End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End BuildCost = 800 BuildTime = 12.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Nuke_ChinaWarFactory End ExperienceValue = 100 100 200 400 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ChinaVehicleBattleMasterCommandSet ; *** AUDIO Parameters *** VoiceSelect = BattleMasterTankVoiceSelect VoiceMove = BattleMasterTankVoiceMove VoiceGuard = BattleMasterTankVoiceMove VoiceAttack = BattleMasterTankVoiceAttack SoundMoveStart = BattleMasterTankMoveStart SoundMoveStartDamaged = BattleMasterTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = BattleMasterTankVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop VoiceCrush = BattleMasterTankVoiceCrush VoiceEnter = BattleMasterTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 400.0 InitialHealth = 400.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 800 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 120 ; turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL Nuke_FusionBattleMasterLocomotor Behavior = HordeUpdate ModuleTag_04 RubOffRadius = 150 ; if I am this close to a real hordesman, I will get to be an honorary hordesman UpdateRate = 1000 ; how often to recheck horde status (msec) Radius = 75 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) KindOf = VEHICLE ; what KindOf's must match to count towards horde-ness AlliesOnly = Yes ; do we only count allies towards horde status? ExactMatch = Yes ; do we only count units of our exact same type towards horde status? (overrides kindof) Count = 5 ; how many units must be within Radius to grant us horde-ness Action = HORDE ; when horde-ing, grant us the HORDE bonus End Behavior = PhysicsBehavior ModuleTag_05 Mass = 40.0 End Behavior = VeterancyGainCreate ModuleVet_01 StartingLevel = ELITE ScienceRequired = SCIENCE_BattlemasterTraining End Behavior = FireWeaponWhenDeadBehavior ModuleTag_06 DeathWeapon = Nuke_NuclearTankDeathWeapon StartsActive = Yes ; Starts active but removes when they upgrade to Fusion Reactors ConflictsWith = Upgrade_ChinaIsotopeStability End ; A crushing defeat Behavior = DestroyDie ModuleTag_08 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_11 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = SlowDeathBehavior ModuleTag_12 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 25 DestructionDelay = 200 DestructionDelayVariance = 100 OCL = FINAL OCL_ChinaTankBattleMasterDebris FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = TransitionDamageFX ModuleTag_13 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 13.0 GeometryMinorRadius = 9.0 GeometryHeight = 10 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Nuke_ChinaTankOverlord ; *** ART Parameters *** SelectPortrait = SNOverlord_L ButtonImage = SNOverlord UpgradeCameo1 = Upgrade_ChinaWGUraniumShells UpgradeCameo2 = Upgrade_ChinaFusionReactors UpgradeCameo3 = Upgrade_ChinaOverlordBattleBunker UpgradeCameo4 = Upgrade_ChinaOverlordGattlingCannon UpgradeCameo5 = Upgrade_ChinaOverlordPropagandaTower Draw = W3DOverlordTankDraw ModuleTag_01 ConditionState = NONE Model = NVOvrlrd Animation = NVOvrlrd.NVOvrlrd AnimationMode = LOOP Turret = Turret01 WeaponFireFXBone = PRIMARY Muzzle WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponLaunchBone = PRIMARY Muzzle End ConditionState = REALLYDAMAGED Model = NVOvrlrd_d Animation = NVOvrlrd_d.NVOvrlrd_d AnimationMode = LOOP Turret = Turret01 WeaponFireFXBone = PRIMARY Muzzle WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponLaunchBone = PRIMARY Muzzle End ConditionState = RUBBLE Model = NVOvrlrd_d Turret = Turret01 WeaponFireFXBone = PRIMARY Muzzle WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponLaunchBone = PRIMARY Muzzle End TrackMarks = EXTnkTrack.tga OkToChangeModelColor = Yes TreadAnimationRate = 2.0; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. End ; ***DESIGN parameters *** DisplayName = OBJECT:Overlord Side = ChinaNukeGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY Nuke_OverlordTankGun End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY Nuke_OverlordTankGun Weapon = SECONDARY GattlingBuildingGunAirDummy ;Dummy weapon that allows manual targeting of air units outside range ;gattling cannon upgrade has been made. End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End BuildCost = 2000 BuildTime = 22.0 ;in seconds VisionRange = 150 ShroudClearingRange = 200 Prerequisites Object = Nuke_ChinaWarFactory Object = Nuke_ChinaPropagandaCenter End ExperienceValue = 200 200 400 600 ;Experience point value at each level ExperienceRequired = 0 400 600 1200 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 3 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 3 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ChinaTankOverlordDefaultCommandSet ; *** AUDIO Parameters *** VoiceSelect = OverlordTankVoiceSelect SoundMoveStart = OverlordTankMoveStart SoundMoveStartDamaged = OverlordTankMoveStart VoiceMove = OverlordTankVoiceMove VoiceGuard = OverlordTankVoiceMove VoiceAttack = OverlordTankVoiceAttack UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = OverlordTankVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = OverlordTankTurretMoveLoop VoiceCrush = OverlordTankVoiceCrush VoiceEnter = OverlordTankVoiceMove VoiceUnload = OverlordTankVoiceUnload End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE HUGE_VEHICLE Body = ActiveBody ModuleTag_02 MaxHealth = 1100.0 InitialHealth = 1100.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = TransportAIUpdate ModuleTag_03 Turret TurretTurnRate = 60 ;30 ;15 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL Nuke_FusionOverlordLocomotor Behavior = FireWeaponWhenDeadBehavior ModuleTag_04 DeathWeapon = Nuke_NuclearTankDeathWeapon StartsActive = Yes ; Removes itself when player upgrades to Fusion Reactors ConflictsWith = Upgrade_ChinaIsotopeStability End Behavior = OverlordContain ModuleTag_06 ; Like Transport, but when full, passes transport queries along to first passenger (redirects like tunnel) Slots = 1 DamagePercentToUnits = 100% AllowInsideKindOf = PORTABLE_STRUCTURE PassengersAllowedToFire = Yes PassengersInTurret = Yes ; My passengers ride in my turret, that's where the Firepoint bones are ExperienceSinkForRider = Yes ; I get the Exp for things my turret friend kills End Behavior = ObjectCreationUpgrade ModuleTag_07 UpgradeObject = OCL_OverlordGattlingCannon TriggeredBy = Upgrade_ChinaOverlordGattlingCannon ConflictsWith = Upgrade_ChinaOverlordPropagandaTower Upgrade_ChinaOverlordBattleBunker End Behavior = WeaponSetUpgrade ModuleTag_WeaponSetUpgrade01 TriggeredBy = Upgrade_ChinaOverlordGattlingCannon ConflictsWith = Upgrade_ChinaOverlordPropagandaTower Upgrade_ChinaOverlordBattleBunker End Behavior = ObjectCreationUpgrade ModuleTag_08 UpgradeObject = OCL_OverlordPropagandaTower TriggeredBy = Upgrade_ChinaOverlordPropagandaTower ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordBattleBunker End Behavior = ObjectCreationUpgrade ModuleTag_09 UpgradeObject = OCL_OverlordBattleBunker TriggeredBy = Upgrade_ChinaOverlordBattleBunker ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordPropagandaTower End Behavior = ProductionUpdate ModuleTag_10 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = CommandSetUpgrade ModuleTag_11 CommandSet = ChinaTankOverlordGattlingCannonCommandSet TriggeredBy = Upgrade_ChinaOverlordGattlingCannon ConflictsWith = Upgrade_ChinaOverlordPropagandaTower Upgrade_ChinaOverlordBattleBunker End Behavior = CommandSetUpgrade ModuleTag_12 CommandSet = ChinaTankOverlordPropagandaTowerCommandSet TriggeredBy = Upgrade_ChinaOverlordPropagandaTower ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordBattleBunker End Behavior = CommandSetUpgrade ModuleTag_13 CommandSet = ChinaTankOverlordBattleBunkerCommandSet TriggeredBy = Upgrade_ChinaOverlordBattleBunker ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordPropagandaTower End Behavior = PhysicsBehavior ModuleTag_14 Mass = 50.0 End ; Just explode death Behavior = SlowDeathBehavior ModuleTag_16 ProbabilityModifier = 25 DestructionDelay = 200 DestructionDelayVariance = 100 OCL = FINAL OCL_ChinaTankOverlordDebris FX = FINAL FX_OverlordExplosionOneFinal End Behavior = CreateCrateDie ModuleTag_17 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_18 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_OverlordDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 26.0 GeometryMinorRadius = 13.0 GeometryHeight = 15.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Nuke_ChinaTankOverlordGattlingCannon ; *** ART Parameters *** SelectPortrait = SNGatTower_L ButtonImage = SNGatTower ;UpgradeCameo1 = Upgrade_Nationalism UpgradeCameo1 = Upgrade_ChinaUraniumShells UpgradeCameo2 = Upgrade_ChinaNuclearTanks ;UpgradeCameo4 = NONE UpgradeCameo5 = Upgrade_ChinaOverlordGattlingCannon Draw = W3DDependencyModelDraw ModuleTag_01 OkToChangeModelColor = Yes AttachToBoneInContainer = FIREPOINT01 DefaultConditionState Model = NVOvrlrd_G Turret = TURRET01 TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX End ConditionState = CONTINUOUS_FIRE_SLOW Model = NVOvrlrd_G Animation = NVOvrlrd_G.NVOvrlrd_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.1 0.1 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_MEAN Model = NVOvrlrd_G Animation = NVOvrlrd_G.NVOvrlrd_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.2 0.2 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_FAST Model = NVOvrlrd_G Animation = NVOvrlrd_G.NVOvrlrd_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.3 0.3 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End ConditionState = REALLYDAMAGED Model = NVOvrlrd_GD Turret = TURRET01 TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = SECONDARY MuzzleFX ParticleSysBone = Smoke01 SmokeFactionMedium ParticleSysBone = Smoke02 SmokeFactionMedium ParticleSysBone = Smoke03 SmokeFactionMedium ParticleSysBone = SparkM01 SparksMedium ParticleSysBone = SparkM02 SparksMedium End ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED Model = NVOvrlrd_GD Animation = NVOvrlrd_G.NVOvrlrd_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.1 0.1 ;set this state to animate s l o w l y End ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED Model = NVOvrlrd_GD Animation = NVOvrlrd_G.NVOvrlrd_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.2 0.2 ;set this state to animate medium-fast End ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED Model = NVOvrlrd_GD Animation = NVOvrlrd_G.NVOvrlrd_G AnimationMode = LOOP AnimationSpeedFactorRange = 0.3 0.3 ;set this state to animate vryfst ParticleSysBone = Muzzle01 GattlingMuzzleSmoke ParticleSysBone = Muzzle02 GattlingMuzzleSmoke End End ; ***DESIGN parameters *** Side = ChinaNukeGeneral EditorSorting = SYSTEM TransportSlotCount = 1 WeaponSet Conditions = None Weapon = PRIMARY GattlingBuildingGun Weapon = SECONDARY GattlingBuildingGunAir PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT End ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module End VisionRange = 200 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop VoiceRapidFire = NoSound End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY SECONDARY TurretTurnRate = 60 // turn rate, in degrees per sec TurretPitchRate = 60 AllowsPitch = Yes End AutoAcquireEnemiesWhenIdle = Yes End Behavior = DestroyDie ModuleTag_04 ;nothing End Behavior = WeaponBonusUpgrade ModuleTag_05 TriggeredBy = Upgrade_ChinaChainGuns End Behavior = StealthDetectorUpdate ModuleTag_06 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ; Defaults to VisionRange CanDetectWhileContained = Yes End Geometry = BOX GeometryMajorRadius = 8.0 GeometryMinorRadius = 8.0 GeometryHeight = 9.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Nuke_ChinaTankOverlordPropagandaTower ; *** ART Parameters *** SelectPortrait = SNPropSpeaker_L ButtonImage = SNPropSpeaker UpgradeCameo1 = Upgrade_Nationalism UpgradeCameo2 = Upgrade_ChinaUraniumShells UpgradeCameo3 = Upgrade_ChinaNuclearTanks ;UpgradeCameo4 = NONE UpgradeCameo5 = Upgrade_ChinaOverlordPropagandaTower Draw = W3DDependencyModelDraw ModuleTag_01 OkToChangeModelColor = Yes AttachToBoneInContainer = FIREPOINT01 ConditionState = NONE Model = NVOvrlrd_S Animation = NVOvrlrd_S.NVOvrlrd_S AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = NVOvrlrd_SD ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Flame01 SmolderingFire ParticleSysBone = Flame01 SmolderingFlameCore ParticleSysBone = Spark01 LiveWireSparks End ; night ConditionState = NIGHT Model = NVOvrlrd_S Animation = NVOvrlrd_S.NVOvrlrd_S AnimationMode = LOOP End End PlacementViewAngle = -45 ; ***DESIGN parameters *** Side = ChinaNukeGeneral EditorSorting = SYSTEM TransportSlotCount = 1 ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module End VisionRange = 200 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 ; End Behavior = PropagandaTowerBehavior ModuleTag_04 Radius = 150.0 DelayBetweenUpdates = 2000 ; in milliseconds HealPercentEachSecond = 1% ; get this % of max health every second PulseFX = FX_OverlordPropagandaTowerPropagandaPulse ;plays as often as DelayBetweenUpdates UpgradeRequired = Upgrade_ChinaSubliminalMessaging UpgradedHealPercentEachSecond = 2% ; get this % of max health every second UpgradedPulseFX = FX_OverlordPropagandaTowerSubliminalPulse ;plays as often as DelayBetweenUpdates End Behavior = DestroyDie ModuleTag_05 ; End Geometry = BOX GeometryMajorRadius = 6.0 GeometryMinorRadius = 6.0 GeometryHeight = 10.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Nuke_ChinaTankOverlordBattleBunker ; *** ART Parameters *** SelectPortrait = SNBunker_L ButtonImage = SNBunker ;UpgradeCameo1 = Upgrade_Nationalism UpgradeCameo1 = Upgrade_ChinaUraniumShells UpgradeCameo2 = Upgrade_ChinaNuclearTanks ;UpgradeCameo4 = NONE UpgradeCameo5 = Upgrade_ChinaOverlordBattleBunker Draw = W3DDependencyModelDraw ModuleTag_01 OkToChangeModelColor = Yes AttachToBoneInContainer = FIREPOINT01 ConditionState = NONE Model = NVOvrlrd_B End ConditionState = REALLYDAMAGED Model = NVOvrlrd_BD ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Flame01 SmolderingFire ParticleSysBone = Flame01 SmolderingFlameCore ParticleSysBone = Spark01 LiveWireSparks End ; night ConditionState = NIGHT Model = NVOvrlrd_B End ConditionState = NIGHT REALLYDAMAGED Model = NVOvrlrd_BD ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Flame01 SmolderingFire ParticleSysBone = Flame01 SmolderingFlameCore ParticleSysBone = Spark01 LiveWireSparks End End PlacementViewAngle = -45 ; ***DESIGN parameters *** Side = ChinaNukeGeneral EditorSorting = SYSTEM TransportSlotCount = 1 ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module End VisionRange = 200 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop VoiceUnload = OverlordTankVoiceUnload End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = TransportContain ModuleTag_03 Slots = 5 PassengersAllowedToFire = Yes AllowInsideKindOf = INFANTRY EnterSound = GarrisonEnter ExitSound = GarrisonExit DamagePercentToUnits = 50% End Behavior = DestroyDie ModuleTag_04 ;nothing End Geometry = BOX GeometryMajorRadius = 6.0 GeometryMinorRadius = 6.0 GeometryHeight = 10.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Nuke_ChinaCarpetBomb ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = EXCarptBmb End End ; ***DESIGN parameters *** DisplayName = OBJECT:CarpetBomb Side = America EditorSorting = SYSTEM TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ArmorSet Conditions = None Armor = ProjectileArmor DamageFX = None End ; *** AUDIO Parameters *** SoundFallingFromPlane = DaisyCutterWeapon ; *** ENGINEERING Parameters *** KindOf = PROJECTILE Body = ActiveBody ModuleTag_02 MaxHealth = 2000.0 InitialHealth = 2000.0 End Behavior = AIUpdateInterface ModuleTag_03 End Locomotor = SET_NORMAL None Behavior = PhysicsBehavior ModuleTag_04 Mass = 75.0 AerodynamicFriction = 1 ; this is now friction-per-sec ForwardFriction = 33 ; this is now friction-per-sec CenterOfMassOffset = 2 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back End Behavior = FireWeaponWhenDeadBehavior ModuleTag_05 DeathWeapon = Nuke_ChinaCarpetBombWeapon StartsActive = Yes End Behavior = SlowDeathBehavior ModuleTag_10 DestructionDelay = 0 OCL = INITIAL Nuke_OCL_RadiationFieldSmall End Behavior = HeightDieUpdate ModuleTag_06 TargetHeight = 1.0 TargetHeightIncludesStructures = No End Behavior = SpecialPowerCompletionDie ModuleTag_07 SpecialPowerTemplate = Nuke_SuperweaponChinaCarpetBomb End Behavior = FXListDie ModuleTag_08 DeathFX = Nuke_WeaponFX_CarpetBomb End Behavior = DestroyDie ModuleTag_09 ;nothing End End Object Slth_GLAHole ; *** ART Parameters *** SelectPortrait = SUHole_L ButtonImage = SUHole_L Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End ; ----------------- the door ------------------- Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes DefaultConditionState Model = UBHole_A1 Animation = UBHole_A1.UBHole_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End ConditionState = DAMAGED Model = UBHole_A1D Animation = UBHole_A1D.UBHole_A1D AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING Model = UBHole_A1 Animation = UBHole_A1.UBHole_A1 AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING DAMAGED Model = UBHole_A1D Animation = UBHole_A1D.UBHole_A1D AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_CLOSING Model = UBHole_A1 Animation = UBHole_A1.UBHole_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_CLOSING DAMAGED Model = UBHole_A1D Animation = UBHole_A1D.UBHole_A1D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN Model = UBHole_A1 Animation = UBHole_A1.UBHole_A1 AnimationMode = MANUAL Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = UBHole_A1D Animation = UBHole_A1D.UBHole_A1D AnimationMode = MANUAL Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:GLAHole Side = GLAStealthGeneral EditorSorting = SYSTEM Prerequisites Object = Slth_GLACommandCenter End BuildCost = 100 BuildTime = 10.0 ; in seconds EnergyProduction = 0 VisionRange = 50.0 ; Shroud clearing distance ShroudClearingRange = 50 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ; *** AUDIO Parameters *** VoiceSelect = TunnelNetworkSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE REBUILD_HOLE CAN_SEE_THROUGH_STRUCTURE IMMUNE_TO_CAPTURE SCORE_DESTROY MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_03 ; To set the health for a particular hole, edit the entry in the object ; that will leave the hole behind (edit the RebuildHoleExposeDie entry) MaxHealth = 9999999.9 ;bigger than anything realistic we use InitialHealth = 9999999.9 ;bigger than anything realistic we use End Behavior = RebuildHoleBehavior ModuleTag_04 WorkerObjectName = GLAInfantryWorker WorkerRespawnDelay = 20000 ;in milliseconds HoleHealthRegen%PerSecond = 0.5% ;regen this % of HoleMaxHealth per second End Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_14 DeathFX = FX_StructureSmallDeath End Geometry = CYLINDER GeometryMajorRadius = 25.0 GeometryHeight = 5.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;GLA Command Center Object Slth_GLACommandCenter ; *** ART Parameters *** SelectPortrait = SUHeadquarters_L ButtonImage = SUHeadquarters UpgradeCameo1 = Upgrade_GLAFortifiedStructure UpgradeCameo2 = Upgrade_GLACamoNetting ; ----- The actual command center Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBCmdVG ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdVG.UBCmdVG AnimationMode = LOOP End ConditionState = DAMAGED Model = UBCmdHQS_D Animation = UBCmdHQS_D.UBCmdHQS_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBCmdHQS_E Animation = UBCmdHQS_E.UBCmdHQS_E AnimationMode = LOOP End ConditionState = GARRISONED Model = UBCmdHQSE ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQSE.UBCmdHQSE AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBCmdHQSE_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQSE_D.UBCmdHQSE_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBCmdHQSE_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQSE_E.UBCmdHQSE_E AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBCmdHQS_N ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQS_N.UBCmdHQS_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBCmdHQS_DN Animation = UBCmdHQS_DN.UBCmdHQS_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBCmdHQS_EN Animation = UBCmdHQS_EN.UBCmdHQS_EN AnimationMode = LOOP End ConditionState = GARRISONED NIGHT Model = UBCmdHQSE_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQSE_N.UBCmdHQSE_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBCmdHQSE_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQSE_DN.UBCmdHQSE_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBCmdHQSE_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQSE_EN.UBCmdHQSE_EN AnimationMode = LOOP End ; day snow ConditionState = SNOW Model = UBCmdHQS_S ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQS_S.UBCmdHQS_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBCmdHQS_DS Animation = UBCmdHQS_DS.UBCmdHQS_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBCmdHQS_ES Animation = UBCmdHQS_ES.UBCmdHQS_ES AnimationMode = LOOP End ConditionState = GARRISONED SNOW Model = UBCmdHQSE_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQSE_S.UBCmdHQSE_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBCmdHQSE_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQSE_DS.UBCmdHQSE_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBCmdHQSE_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQSE_ES.UBCmdHQSE_ES AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBCmdHQS_NS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQS_NS.UBCmdHQS_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = UBCmdHQS_DNS Animation = UBCmdHQS_DNS.UBCmdHQS_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBCmdHQS_ENS Animation = UBCmdHQS_ENS.UBCmdHQS_ENS AnimationMode = LOOP End ConditionState = GARRISONED NIGHT SNOW Model = UBCmdHQSE_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQSE_NS.UBCmdHQSE_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQSE_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQSE_DNS.UBCmdHQSE_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQSE_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQSE_ENS.UBCmdHQSE_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQS Animation = UBCmdHQS.UBCmdHQS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBCmdHQS_D Animation = UBCmdHQS_D.UBCmdHQS_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBCmdHQS_E Animation = UBCmdHQS_E.UBCmdHQS_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBCmdHQS_N Animation = UBCmdHQS_N.UBCmdHQS_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBCmdHQS_DN Animation = UBCmdHQS_DN.UBCmdHQS_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBCmdHQS_EN Animation = UBCmdHQS_EN.UBCmdHQS_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBCmdHQS_S Animation = UBCmdHQS_S.UBCmdHQS_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBCmdHQS_DS Animation = UBCmdHQS_DS.UBCmdHQS_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBCmdHQS_ES Animation = UBCmdHQS_ES.UBCmdHQS_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBCmdHQS_NS Animation = UBCmdHQS_NS.UBCmdHQS_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBCmdHQS_DNS Animation = UBCmdHQS_DNS.UBCmdHQS_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBCmdHQS_ENS Animation = UBCmdHQS_ENS.UBCmdHQS_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -135 ; ------------ construction done flashing lights ---------- ; Draw = W3DModelDraw ; DefaultConditionState ; Model = None ; End ; ConditionState = SOLD ; Model = NONE ; End ; ConditionState = CONSTRUCTION_COMPLETE ; Model = ABWarFact_A2 ; Animation = ABWarFact_A2.ABWarFact_A2 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ; End ; End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; Officers club flag Draw = W3DModelDraw ModuleTag_OfficersClub OkToChangeModelColor = No ConditionState = NONE Model = None End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE ConditionState = PREORDER Model = OCFlagGLA Animation = OCFlagGLA.OCFlagGLA AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ; ConditionState = PREORDER DAMAGED ; Model = OCFlagGLA_D ; Animation = OCFlagGLA_D.OCFlagGLA_D ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End ; ConditionState = PREORDER REALLYDAMAGED RUBBLE ; Model = OCFlagGLA_E ; Animation = OCFlagGLA_E.OCFlagGLA_E ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End End ; ***DESIGN parameters *** DisplayName = OBJECT:CommandCenter Side = GLAStealthGeneral EditorSorting = STRUCTURE BuildCost = 2000 BuildTime = 45.0 ; in seconds EnergyProduction = 0 ;Command center should be free CommandSet = Slth_GLACommandCenterCommandSet VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 300 ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = CommandCenterGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE COMMANDCENTER CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE Body = StructureBody ModuleTag_04 MaxHealth = 5000.0 InitialHealth = 5000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 5200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = PreorderCreate ModuleTag_PreorderCreate End Behavior = ProductionUpdate ModuleTag_05 ; nothing End Behavior = DefaultProductionExitUpdate ModuleTag_06 UnitCreatePoint = X: 25.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 65.0 Y: 0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RebuildHoleExposeDie ModuleTag_07 HoleName = GLAHoleCommandCenter HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_08 ;nothing End Behavior = CreateObjectDie ModuleTag_09 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = OCLSpecialPower ModuleTag_11 SpecialPowerTemplate = SuperweaponRebelAmbush UpgradeOCL = SCIENCE_RebelAmbush3 Slth_SUPERWEAPON_RebelAmbush3 UpgradeOCL = SCIENCE_RebelAmbush2 Slth_SUPERWEAPON_RebelAmbush2 OCL = Slth_SUPERWEAPON_RebelAmbush1 CreateLocation = CREATE_AT_LOCATION OCLAdjustPositionToPassable = Yes ;Like RA2, shift target to passable cell so we don't land in water and on cliffs. End Behavior = OCLSpecialPower ModuleTag_12 SpecialPowerTemplate = SuperweaponBlackMarketNuke OCL = SUPERWEAPON_BlackMarketNuke CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_13 SpecialPowerTemplate = SuperweaponAnthraxBomb OCL = SUPERWEAPON_AnthraxBomb CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_14 SpecialPowerTemplate = Early_SuperweaponEmergencyRepair UpgradeOCL = Early_SCIENCE_EmergencyRepair3 SUPERWEAPON_RepairVehicles3 UpgradeOCL = Early_SCIENCE_EmergencyRepair2 SUPERWEAPON_RepairVehicles2 OCL = SUPERWEAPON_RepairVehicles1 CreateLocation = CREATE_AT_LOCATION End Behavior = OCLSpecialPower ModuleTag_21 SpecialPowerTemplate = SuperweaponSneakAttack OCL = OCL_CreateSneakAttackTunnelStart ReferenceObject = GLASneakAttackTunnelNetwork ;So we know what the final product is for script placement calculations CreateLocation = CREATE_AT_LOCATION End Behavior = OCLSpecialPower ModuleTag_22 SpecialPowerTemplate = Slth_SuperweaponGPSScrambler OCL = SUPERWEAPON_GPSScrambler CreateLocation = CREATE_AT_LOCATION End Behavior = CashBountyPower ModuleTag_15 SpecialPowerTemplate = SpecialAbilityCashBounty1 Bounty = 5% End Behavior = CashBountyPower ModuleTag_16 SpecialPowerTemplate = SpecialAbilityCashBounty2 Bounty = 10% End Behavior = CashBountyPower ModuleTag_17 SpecialPowerTemplate = SpecialAbilityCashBounty3 Bounty = 20% End Behavior = FlammableUpdate ModuleTag_19 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_20 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = StealthUpdate ModuleStealth_09 StealthDelay = 2500 ; msec StealthForbiddenConditions = ATTACKING USING_ABILITY TAKING_DAMAGE InnateStealth = No ;Requires upgrade first OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = StealthUpgrade ModuleTag_23 TriggeredBy = Upgrade_GLACamoNetting END Geometry = BOX GeometryMajorRadius = 65.0 GeometryMinorRadius = 65.0 GeometryHeight = 54.0 FactoryExitWidth = 25 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Slth_GLAHoleCommandCenter Slth_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED RUBBLE Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBCmdHQ_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke End ConditionState = DAMAGED REALLYDAMAGED RUBBLE Model = UBCmdHQ_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke End End End ;------------------------------------------------------------------------------ ;Fake GLA Command Center Object Slth_FakeGLACommandCenter ; *** ART Parameters *** SelectPortrait = SUHeadquarters_L ButtonImage = SUHeadquarters UpgradeCameo1 = Upgrade_GLAFortifiedStructure UpgradeCameo2 = Upgrade_GLACamoNetting ; ----- The actual command center Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBCmdHQS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQS.UBCmdHQS AnimationMode = LOOP End ConditionState = DAMAGED Model = UBCmdHQS_D Animation = UBCmdHQS_D.UBCmdHQS_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBCmdHQS_E Animation = UBCmdHQS_E.UBCmdHQS_E AnimationMode = LOOP End ConditionState = GARRISONED Model = UBCmdHQEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG.UBCmdHQEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBCmdHQEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_D.UBCmdHQEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBCmdHQEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_E.UBCmdHQEG_E AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBCmdHQS_N ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQS_N.UBCmdHQS_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBCmdHQS_DN Animation = UBCmdHQS_DN.UBCmdHQS_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBCmdHQS_EN Animation = UBCmdHQS_EN.UBCmdHQS_EN AnimationMode = LOOP End ConditionState = GARRISONED NIGHT Model = UBCmdHQEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_N.UBCmdHQEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBCmdHQEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_DN.UBCmdHQEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBCmdHQEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_EN.UBCmdHQEG_EN AnimationMode = LOOP End ; day snow ConditionState = SNOW Model = UBCmdHQS_S ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQS_S.UBCmdHQS_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBCmdHQS_DS Animation = UBCmdHQS_DS.UBCmdHQS_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBCmdHQS_ES Animation = UBCmdHQS_ES.UBCmdHQS_ES AnimationMode = LOOP End ConditionState = GARRISONED SNOW Model = UBCmdHQEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_S.UBCmdHQEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBCmdHQEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_DS.UBCmdHQEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBCmdHQEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_ES.UBCmdHQEG_ES AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBCmdHQS_NS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQS_NS.UBCmdHQS_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = UBCmdHQS_DNS Animation = UBCmdHQS_DNS.UBCmdHQS_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBCmdHQS_ENS Animation = UBCmdHQS_ENS.UBCmdHQS_ENS AnimationMode = LOOP End ConditionState = GARRISONED NIGHT SNOW Model = UBCmdHQEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_NS.UBCmdHQEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_DNS.UBCmdHQEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_ENS.UBCmdHQEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQS Animation = UBCmdHQS.UBCmdHQS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBCmdHQS_D Animation = UBCmdHQS_D.UBCmdHQS_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBCmdHQS_E Animation = UBCmdHQS_E.UBCmdHQS_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBCmdHQS_N Animation = UBCmdHQS_N.UBCmdHQS_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBCmdHQS_DN Animation = UBCmdHQS_DN.UBCmdHQS_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBCmdHQS_EN Animation = UBCmdHQS_EN.UBCmdHQS_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBCmdHQS_S Animation = UBCmdHQS_S.UBCmdHQS_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBCmdHQS_DS Animation = UBCmdHQS_DS.UBCmdHQS_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBCmdHQS_ES Animation = UBCmdHQS_ES.UBCmdHQS_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBCmdHQS_NS Animation = UBCmdHQS_NS.UBCmdHQS_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBCmdHQS_DNS Animation = UBCmdHQS_DNS.UBCmdHQS_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBCmdHQS_ENS Animation = UBCmdHQS_ENS.UBCmdHQS_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -135 ; ------------ construction done flashing lights ---------- ; Draw = W3DModelDraw ; DefaultConditionState ; Model = None ; End ; ConditionState = SOLD ; Model = NONE ; End ; ConditionState = CONSTRUCTION_COMPLETE ; Model = ABWarFact_A2 ; Animation = ABWarFact_A2.ABWarFact_A2 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ; End ; End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; Officers club flag Draw = W3DModelDraw ModuleTag_OfficersClub OkToChangeModelColor = No ConditionState = NONE Model = None End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE ConditionState = PREORDER Model = OCFlagGLA Animation = OCFlagGLA.OCFlagGLA AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ; ConditionState = PREORDER DAMAGED ; Model = OCFlagGLA_D ; Animation = OCFlagGLA_D.OCFlagGLA_D ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End ; ConditionState = PREORDER REALLYDAMAGED RUBBLE ; Model = OCFlagGLA_E ; Animation = OCFlagGLA_E.OCFlagGLA_E ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End End ; ***DESIGN parameters *** DisplayName = OBJECT:CommandCenter Side = GLAStealthGeneral EditorSorting = STRUCTURE Prerequisites Object = Slth_GLACommandCenter End BuildCost = 500 BuildTime = 30.0 ; in seconds EnergyProduction = 0 ;Command center should be free CommandSet = FakeGLACommandCenterCommandSet VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 300 WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 50 50 50 50 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = CommandCenterGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE Body = StructureBody ModuleTag_04 MaxHealth = 1250.0 InitialHealth = 1250.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1450 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = PreorderCreate ModuleTag_PreorderCreate End Behavior = ProductionUpdate ModuleTag_05 ; nothing End Behavior = AIUpdateInterface ModuleTag_06 AutoAcquireEnemiesWhenIdle = No End Behavior = CreateObjectDie ModuleTag_09 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = SlowDeathBehavior ModuleTag_11 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 0 Weapon = FINAL FakeStructureDetonationWeapon End Behavior = DestroyDie ModuleTag_SlowDeathException RequiredStatus = UNDER_CONSTRUCTION End Behavior = ReplaceObjectUpgrade ModuleTag_12 ReplaceObject = Slth_GLACommandCenter TriggeredBy = Upgrade_BecomeRealGLACommandCenter End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = FlammableUpdate ModuleTag_13 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_14 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = StealthUpdate ModuleStealth_09 StealthDelay = 2500 ; msec StealthForbiddenConditions = ATTACKING USING_ABILITY TAKING_DAMAGE InnateStealth = No ;Requires upgrade first OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = StealthUpgrade ModuleTag_15 TriggeredBy = Upgrade_GLACamoNetting END Geometry = BOX GeometryMajorRadius = 65.0 GeometryMinorRadius = 65.0 GeometryHeight = 54.0 FactoryExitWidth = 25 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure. ShadowSizeX = 165 ShadowSizeY = 145 BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Slth_GLABlackMarket ; *** ART Parameters *** SelectPortrait = SUBlackMarket_L ButtonImage = SUBlackMarket UpgradeCameo1 = Upgrade_GLAFortifiedStructure UpgradeCameo2 = Upgrade_GLACamoNetting Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBBlackMkt Animation = UBBlackMkt.UBBlackMkt AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED Model = UBBlackMkt_D Animation = UBBlackMkt_D.UBBlackMkt_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = UBBlackMkt_E Animation = UBBlackMkt_E.UBBlackMkt_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED Model = UBBlkMktEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG.UBBlkMktEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBBlkMktEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_D.UBBlkMktEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBBlkMktEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_E.UBBlkMktEG_E AnimationMode = LOOP End ; day snow ConditionState = SNOW Model = UBBlackMkt_S Animation = UBBlackMkt_S.UBBlackMkt_S AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED SNOW Model = UBBlackMkt_DS Animation = UBBlackMkt_DS.UBBlackMkt_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBBlackMkt_ES Animation = UBBlackMkt_ES.UBBlackMkt_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED SNOW Model = UBBlkMktEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_S.UBBlkMktEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBBlkMktEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DS.UBBlkMktEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBBlkMktEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_ES.UBBlkMktEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBBlackMkt_N Animation = UBBlackMkt_N.UBBlackMkt_N AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED NIGHT Model = UBBlackMkt_DN Animation = UBBlackMkt_DN.UBBlackMkt_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBBlackMkt_EN Animation = UBBlackMkt_EN.UBBlackMkt_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED NIGHT Model = UBBlkMktEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_N.UBBlkMktEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBBlkMktEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DN.UBBlkMktEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBBlkMktEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_EN.UBBlkMktEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBBlackMkt_NS Animation = UBBlackMkt_NS.UBBlackMkt_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED NIGHT SNOW Model = UBBlackMkt_DNS Animation = UBBlackMkt_DNS.UBBlackMkt_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBBlackMkt_ENS Animation = UBBlackMkt_ENS.UBBlackMkt_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED NIGHT SNOW Model = UBBlkMktEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_NS.UBBlkMktEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBBlkMktEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DNS.UBBlkMktEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBBlkMktEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_ENS.UBBlkMktEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt Animation = UBBlackMkt.UBBlackMkt AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBBlackMkt_D Animation = UBBlackMkt_D.UBBlackMkt_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBBlackMkt_E Animation = UBBlackMkt_E.UBBlackMkt_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBBlackMkt_N Animation = UBBlackMkt_N.UBBlackMkt_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBBlackMkt_DN Animation = UBBlackMkt_DN.UBBlackMkt_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBBlackMkt_EN Animation = UBBlackMkt_EN.UBBlackMkt_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBBlackMkt_S Animation = UBBlackMkt_S.UBBlackMkt_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBBlackMkt_DS Animation = UBBlackMkt_DS.UBBlackMkt_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBBlackMkt_ES Animation = UBBlackMkt_ES.UBBlackMkt_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBBlackMkt_NS Animation = UBBlackMkt_NS.UBBlackMkt_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBBlackMkt_DNS Animation = UBBlackMkt_DNS.UBBlackMkt_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBBlackMkt_ENS Animation = UBBlackMkt_ENS.UBBlackMkt_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:BlackMarket Side = GLAStealthGeneral EditorSorting = STRUCTURE Prerequisites Object = Slth_GLAPalace End BuildCost = 2500 BuildTime = 30.0 ; in seconds EnergyProduction = 0 CommandSet = Slth_GLABlackMarketCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = BlackMarketSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY SCORE_CREATE FS_BLACK_MARKET Body = StructureBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = AutoDepositUpdate ModuleTag_05 DepositTiming = 2000 ; in milliseconds DepositAmount = 20 ; cash amount to deposit every DepositTiming InitialCaptureBonus = 0 ; no initial bonus End Behavior = ProductionUpdate ModuleTag_06 ; nothing End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = RebuildHoleExposeDie ModuleTag_08 HoleName = GLAHoleBlackMarket HoleMaxHealth = 500.0 End Behavior = CreateObjectDie ModuleTag_09 CreationList = OCL_ABPowerPlantExplode End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureSmallDeath End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_13 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = StealthUpdate ModuleStealth_09 StealthDelay = 2500 ; msec StealthForbiddenConditions = ATTACKING USING_ABILITY TAKING_DAMAGE InnateStealth = No ;Requires upgrade first OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = StealthUpgrade ModuleTag_14 TriggeredBy = Upgrade_GLACamoNetting END Geometry = BOX GeometryMajorRadius = 35.0 GeometryMinorRadius = 35.0 GeometryHeight = 35.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Slth_GLAHoleBlackMarket Slth_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED RUBBLE Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBBlackMkt_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke End ConditionState = DAMAGED REALLYDAMAGED RUBBLE Model = UBBlackMkt_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke End End End ;------------------------------------------------------------------------------ Object Slth_FakeGLABlackMarket ; *** ART Parameters *** SelectPortrait = SUBlackMarket_L ButtonImage = SUBlackMarket UpgradeCameo1 = Upgrade_GLAFortifiedStructure UpgradeCameo2 = Upgrade_GLACamoNetting Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBBlackMkt Animation = UBBlackMkt.UBBlackMkt AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED Model = UBBlackMkt_D Animation = UBBlackMkt_D.UBBlackMkt_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = UBBlackMkt_E Animation = UBBlackMkt_E.UBBlackMkt_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED Model = UBBlkMktEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG.UBBlkMktEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBBlkMktEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_D.UBBlkMktEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBBlkMktEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_E.UBBlkMktEG_E AnimationMode = LOOP End ; day snow ConditionState = SNOW Model = UBBlackMkt_S Animation = UBBlackMkt_S.UBBlackMkt_S AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED SNOW Model = UBBlackMkt_DS Animation = UBBlackMkt_DS.UBBlackMkt_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBBlackMkt_ES Animation = UBBlackMkt_ES.UBBlackMkt_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED SNOW Model = UBBlkMktEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_S.UBBlkMktEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBBlkMktEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DS.UBBlkMktEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBBlkMktEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_ES.UBBlkMktEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBBlackMkt_N Animation = UBBlackMkt_N.UBBlackMkt_N AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED NIGHT Model = UBBlackMkt_DN Animation = UBBlackMkt_DN.UBBlackMkt_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBBlackMkt_EN Animation = UBBlackMkt_EN.UBBlackMkt_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED NIGHT Model = UBBlkMktEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_N.UBBlkMktEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBBlkMktEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DN.UBBlkMktEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBBlkMktEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_EN.UBBlkMktEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBBlackMkt_NS Animation = UBBlackMkt_NS.UBBlackMkt_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED NIGHT SNOW Model = UBBlackMkt_DNS Animation = UBBlackMkt_DNS.UBBlackMkt_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBBlackMkt_ENS Animation = UBBlackMkt_ENS.UBBlackMkt_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED NIGHT SNOW Model = UBBlkMktEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_NS.UBBlkMktEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBBlkMktEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DNS.UBBlkMktEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBBlkMktEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_ENS.UBBlkMktEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt Animation = UBBlackMkt.UBBlackMkt AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBBlackMkt_D Animation = UBBlackMkt_D.UBBlackMkt_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBBlackMkt_E Animation = UBBlackMkt_E.UBBlackMkt_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBBlackMkt_N Animation = UBBlackMkt_N.UBBlackMkt_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBBlackMkt_DN Animation = UBBlackMkt_DN.UBBlackMkt_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBBlackMkt_EN Animation = UBBlackMkt_EN.UBBlackMkt_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBBlackMkt_S Animation = UBBlackMkt_S.UBBlackMkt_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBBlackMkt_DS Animation = UBBlackMkt_DS.UBBlackMkt_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBBlackMkt_ES Animation = UBBlackMkt_ES.UBBlackMkt_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBBlackMkt_NS Animation = UBBlackMkt_NS.UBBlackMkt_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBBlackMkt_DNS Animation = UBBlackMkt_DNS.UBBlackMkt_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBBlackMkt_ENS Animation = UBBlackMkt_ENS.UBBlackMkt_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:BlackMarket Side = GLAStealthGeneral EditorSorting = STRUCTURE Prerequisites Object = Slth_GLAPalace End BuildCost = 625 BuildTime = 20.0 ; in seconds EnergyProduction = 0 CommandSet = FakeGLABlackMarketCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 50 50 50 50 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = BlackMarketSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE Body = StructureBody ModuleTag_04 MaxHealth = 125.0 InitialHealth = 125.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 325 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = AIUpdateInterface ModuleTag_05 AutoAcquireEnemiesWhenIdle = No End Behavior = ProductionUpdate ModuleTag_06 ; nothing End Behavior = SlowDeathBehavior ModuleTag_07 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 0 Weapon = FINAL FakeStructureDetonationWeapon End Behavior = DestroyDie ModuleTag_SlowDeathException RequiredStatus = UNDER_CONSTRUCTION End Behavior = ReplaceObjectUpgrade ModuleTag_08 ReplaceObject = Slth_GLABlackMarket TriggeredBy = Upgrade_BecomeRealGLABlackMarket End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = CreateObjectDie ModuleTag_09 CreationList = OCL_ABPowerPlantExplode End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureSmallDeath End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_13 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = StealthUpdate ModuleStealth_09 StealthDelay = 2500 ; msec StealthForbiddenConditions = ATTACKING USING_ABILITY TAKING_DAMAGE InnateStealth = No ;Requires upgrade first OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = StealthUpgrade ModuleTag_14 TriggeredBy = Upgrade_GLACamoNetting END Behavior = AutoDepositUpdate ModuleTag_FakeMoney DepositTiming = 2000 ; in milliseconds DepositAmount = 20 ; cash amount to deposit every DepositTiming InitialCaptureBonus = 0 ; no initial bonus ActualMoney = No ; Display only so I look like a BlackMarket End Geometry = BOX GeometryMajorRadius = 35.0 GeometryMinorRadius = 35.0 GeometryHeight = 35.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure. ShadowSizeX = 108 ShadowSizeY = 96 BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Slth_GLAScudStorm UpgradeCameo1 = Upgrade_GLACamoNetting ; *** ART Parameters *** SelectPortrait = SUScudStorm_L ButtonImage = SUScudStorm Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ProjectileBoneFeedbackEnabledSlots = PRIMARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset ; day ConditionState = NONE ; lying around Model = UBScudStrm_A1 Animation = UBScudStrm_A1.UBScudStrm_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY Trans_ATTACKING ; from lying around to straight up Model = UBScudStrm_A1 Animation = UBScudStrm_A1.UBScudStrm_A1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING ; Projectile feedback code selectively hiding missiles as they shoot Model = UBScudStrm_A2 Animation = UBScudStrm_A2.UBScudStrm_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A TransitionState = Trans_ATTACKING Trans_READY ; empty arms going underground, coming up with presents for bad people Model = UBScudStrm_A3 Animation = UBScudStrm_A3.UBScudStrm_A3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBScudStrm_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBScudStrm_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ;------------------------------------------------------------------------------------------------------------------------- ; day ConditionState = DAMAGED Model = UBScudStrm_DA1 Animation = UBScudStrm_DA1.UBScudStrm_DA1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_DAMAGED ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_DAMAGED Trans_ATTACKING_DAMAGED Model = UBScudStrm_DA1 Animation = UBScudStrm_DA1.UBScudStrm_DA1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING DAMAGED Model = UBScudStrm_DA2 Animation = UBScudStrm_DA2.UBScudStrm_DA2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_DAMAGED ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A DAMAGED AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A DAMAGED TransitionState = Trans_ATTACKING_DAMAGED Trans_READY_DAMAGED Model = UBScudStrm_DA3 Animation = UBScudStrm_DA3.UBScudStrm_DA3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = REALLYDAMAGED RUBBLE Model = UBScudStrm_EA1 Animation = UBScudStrm_EA1.UBScudStrm_EA1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_REALLYDAMAGED ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_REALLYDAMAGED Trans_ATTACKING_REALLYDAMAGED Model = UBScudStrm_EA1 Animation = UBScudStrm_EA1.UBScudStrm_EA1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING REALLYDAMAGED RUBBLE Model = UBScudStrm_EA2 Animation = UBScudStrm_EA2.UBScudStrm_EA2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_REALLYDAMAGED ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A REALLYDAMAGED RUBBLE AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED RUBBLE TransitionState = Trans_ATTACKING_REALLYDAMAGED Trans_READY_REALLYDAMAGED Model = UBScudStrm_EA3 Animation = UBScudStrm_EA3.UBScudStrm_EA3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ; SNOW ConditionState = SNOW ; from underground to lying around Model = UBScudStrm_A1S Animation = UBScudStrm_A1S.UBScudStrm_A1S AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_SNOW Trans_ATTACKING_SNOW Model = UBScudStrm_A1S Animation = UBScudStrm_A1S.UBScudStrm_A1S AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING SNOW ; Projectile feedback code selectively hiding missiles as they shoot Model = UBScudStrm_A2S Animation = UBScudStrm_A2S.UBScudStrm_A2S AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A SNOW TransitionState = Trans_ATTACKING_SNOW Trans_READY_SNOW ; empty arms going underground Model = UBScudStrm_A3S Animation = UBScudStrm_A3S.UBScudStrm_A3S AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBScudStrm Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW Model = UBScudStrm_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW Model = UBScudStrm_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = DAMAGED SNOW Model = UBScudStrm_DA1 Animation = UBScudStrm_DA1.UBScudStrm_DA1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_DAMAGED_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_DAMAGED_SNOW Trans_ATTACKING_DAMAGED_SNOW Model = UBScudStrm_DA1 Animation = UBScudStrm_DA1.UBScudStrm_DA1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING DAMAGED SNOW Model = UBScudStrm_DA2 Animation = UBScudStrm_DA2.UBScudStrm_DA2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_DAMAGED_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A DAMAGED SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A DAMAGED SNOW TransitionState = Trans_ATTACKING_DAMAGED_SNOW Trans_READY_DAMAGED_SNOW Model = UBScudStrm_DA3 Animation = UBScudStrm_DA3.UBScudStrm_DA3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBScudStrm_EA1 Animation = UBScudStrm_EA1.UBScudStrm_EA1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_REALLYDAMAGED_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_REALLYDAMAGED_SNOW Trans_ATTACKING_REALLYDAMAGED_SNOW Model = UBScudStrm_EA1 Animation = UBScudStrm_EA1.UBScudStrm_EA1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING REALLYDAMAGED RUBBLE SNOW Model = UBScudStrm_EA2 Animation = UBScudStrm_EA2.UBScudStrm_EA2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_REALLYDAMAGED_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A REALLYDAMAGED RUBBLE SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED RUBBLE SNOW TransitionState = Trans_ATTACKING_REALLYDAMAGED_SNOW Trans_READY_REALLYDAMAGED_SNOW Model = UBScudStrm_EA3 Animation = UBScudStrm_EA3.UBScudStrm_EA3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ; NIGHT ConditionState = NIGHT ; from underground to lying around Model = UBScudStrm_A1 Animation = UBScudStrm_A1.UBScudStrm_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_NIGHT Trans_ATTACKING_NIGHT Model = UBScudStrm_A1 Animation = UBScudStrm_A1.UBScudStrm_A1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING NIGHT ; Projectile feedback code selectively hiding missiles as they shoot Model = UBScudStrm_A2 Animation = UBScudStrm_A2.UBScudStrm_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT TransitionState = Trans_ATTACKING_NIGHT Trans_READY_NIGHT ; empty arms going underground Model = UBScudStrm_A3 Animation = UBScudStrm_A3.UBScudStrm_A3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBScudStrm Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT Model = UBScudStrm_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT Model = UBScudStrm_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = DAMAGED NIGHT Model = UBScudStrm_DA1N Animation = UBScudStrm_DA1N.UBScudStrm_DA1N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_DAMAGED_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_DAMAGED_NIGHT Trans_ATTACKING_DAMAGED_NIGHT Model = UBScudStrm_DA1N Animation = UBScudStrm_DA1N.UBScudStrm_DA1N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING DAMAGED NIGHT Model = UBScudStrm_DA2N Animation = UBScudStrm_DA2N.UBScudStrm_DA2N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_DAMAGED_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT DAMAGED AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT DAMAGED TransitionState = Trans_ATTACKING_DAMAGED_NIGHT Trans_READY_DAMAGED_NIGHT Model = UBScudStrm_DA3N Animation = UBScudStrm_DA3N.UBScudStrm_DA3N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBScudStrm_EA1N Animation = UBScudStrm_EA1N.UBScudStrm_EA1N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_REALLYDAMAGED_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_REALLYDAMAGED_NIGHT Trans_ATTACKING_REALLYDAMAGED_NIGHT Model = UBScudStrm_EA1N Animation = UBScudStrm_EA1N.UBScudStrm_EA1N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING REALLYDAMAGED RUBBLE NIGHT Model = UBScudStrm_EA2N Animation = UBScudStrm_EA2N.UBScudStrm_EA2N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_REALLYDAMAGED_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT REALLYDAMAGED RUBBLE AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT REALLYDAMAGED RUBBLE TransitionState = Trans_ATTACKING_REALLYDAMAGED_NIGHT Trans_READY_REALLYDAMAGED_NIGHT Model = UBScudStrm_EA3N Animation = UBScudStrm_EA3N.UBScudStrm_EA3N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ; NIGHT SNOW ConditionState = NIGHT SNOW ; from underground to lying around Model = UBScudStrm_A1NS Animation = UBScudStrm_A1NS.UBScudStrm_A1NS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_NIGHTSNOW Trans_ATTACKING_NIGHTSNOW Model = UBScudStrm_A1NS Animation = UBScudStrm_A1NS.UBScudStrm_A1NS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING NIGHT SNOW ; Projectile feedback code selectively hiding missiles as they shoot Model = UBScudStrm_A2NS Animation = UBScudStrm_A2NS.UBScudStrm_A2NS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT SNOW TransitionState = Trans_ATTACKING_NIGHTSNOW Trans_READY_NIGHTSNOW ; empty arms going underground Model = UBScudStrm_A3NS Animation = UBScudStrm_A3NS.UBScudStrm_A3NS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBScudStrm Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW Model = UBScudStrm_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW Model = UBScudStrm_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = DAMAGED NIGHT SNOW Model = UBScudStrm_DA1N Animation = UBScudStrm_DA1N.UBScudStrm_DA1N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_DAMAGED_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_DAMAGED_NIGHTSNOW Trans_ATTACKING_DAMAGED_NIGHTSNOW Model = UBScudStrm_DA1N Animation = UBScudStrm_DA1N.UBScudStrm_DA1N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING DAMAGED NIGHT SNOW Model = UBScudStrm_DA2N Animation = UBScudStrm_DA2N.UBScudStrm_DA2N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_DAMAGED_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT DAMAGED SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT DAMAGED SNOW TransitionState = Trans_ATTACKING_DAMAGED_NIGHTSNOW Trans_READY_DAMAGED_NIGHTSNOW Model = UBScudStrm_DA3N Animation = UBScudStrm_DA3N.UBScudStrm_DA3N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBScudStrm_EA1N Animation = UBScudStrm_EA1N.UBScudStrm_EA1N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_REALLYDAMAGED_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_REALLYDAMAGED_NIGHTSNOW Trans_ATTACKING_REALLYDAMAGED_NIGHTSNOW Model = UBScudStrm_EA1N Animation = UBScudStrm_EA1N.UBScudStrm_EA1N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBScudStrm_EA2N Animation = UBScudStrm_EA2N.UBScudStrm_EA2N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_REALLYDAMAGED_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT REALLYDAMAGED RUBBLE SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT REALLYDAMAGED RUBBLE SNOW TransitionState = Trans_ATTACKING_REALLYDAMAGED_NIGHTSNOW Trans_READY_REALLYDAMAGED_NIGHTSNOW Model = UBScudStrm_EA3N Animation = UBScudStrm_EA3N.UBScudStrm_EA3N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ConditionState = SOLD Model = NONE End AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD DAMAGED SNOW AliasConditionState = SOLD REALLYDAMAGED SNOW AliasConditionState = SOLD NIGHT AliasConditionState = SOLD DAMAGED NIGHT AliasConditionState = SOLD REALLYDAMAGED NIGHT AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD DAMAGED NIGHT SNOW AliasConditionState = SOLD REALLYDAMAGED NIGHT SNOW End ;------------------------------------------------------------------------------------------------------------------------- ;------------------------------------------------------------------------------------------------------------------------- ;------------------------------------------------------------------------------------------------------------------------- Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = None Model = UBScudStrm_A5 Animation = UBScudStrm_A5.UBScudStrm_A5 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End ConditionState = PREATTACK_A ATTACKING Model = UBScudStrm_A5 Animation = UBScudStrm_A5.UBScudStrm_A5 AnimationMode = LOOP Flags = START_FRAME_FIRST End ConditionState = ATTACKING Model = UBScudStrm_A5 Animation = UBScudStrm_A5.UBScudStrm_A5 AnimationMode = LOOP Flags = START_FRAME_FIRST End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = DAMAGED ; Model = UBScudStrm_DA5 ; Animation = UBScudStrm_DA5.UBScudStrm_DA5 ; AnimationMode = MANUAL ; Flags = START_FRAME_FIRST ;End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = PREATTACK_A ATTACKING DAMAGED ; Model = UBScudStrm_DA5 ; Animation = UBScudStrm_DA5.UBScudStrm_DA5 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ;End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = ATTACKING DAMAGED ; Model = UBScudStrm_DA5 ; Animation = UBScudStrm_DA5.UBScudStrm_DA5 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ;End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = REALLYDAMAGED ; Model = UBScudStrm_EA5 ; Animation = UBScudStrm_EA5.UBScudStrm_EA5 ; AnimationMode = MANUAL ; Flags = START_FRAME_FIRST ;End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = PREATTACK_A ATTACKING REALLYDAMAGED ; Model = UBScudStrm_EA5 ; Animation = UBScudStrm_EA5.UBScudStrm_EA5 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ;End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = ATTACKING REALLYDAMAGED ; Model = UBScudStrm_EA5 ; Animation = UBScudStrm_EA5.UBScudStrm_EA5 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ;End End Draw = W3DModelDraw ModuleTag_03 OkToChangeModelColor = Yes ConditionState = None Model = UBScudStrm_A6 Animation = UBScudStrm_A6.UBScudStrm_A6 AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED Model = UBScudStrm_DA6 Animation = UBScudStrm_DA6.UBScudStrm_DA6 AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE Model = UBScudStrm_EA6 Animation = UBScudStrm_EA6.UBScudStrm_EA6 AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm_A6 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBScudStrm_DA6 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = UBScudStrm_EA6 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End End Draw = W3DModelDraw ModuleTag_04 OkToChangeModelColor = Yes ConditionState = None Model = UBScudStrm_F Animation = UBScudStrm_F.UBScudStrm_F AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED Model = UBScudStrm_DF Animation = UBScudStrm_DF.UBScudStrm_DF AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE Model = UBScudStrm_EF Animation = UBScudStrm_EF.UBScudStrm_EF AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = SOLD Model = NONE End AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD DAMAGED SNOW AliasConditionState = SOLD REALLYDAMAGED SNOW AliasConditionState = SOLD NIGHT AliasConditionState = SOLD DAMAGED NIGHT AliasConditionState = SOLD REALLYDAMAGED NIGHT AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD DAMAGED NIGHT SNOW AliasConditionState = SOLD REALLYDAMAGED NIGHT SNOW End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm_AB Animation = UBScudStrm_AB.UBScudStrm_AB AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm_ABN Animation = UBScudStrm_ABN.UBScudStrm_ABN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm_ABS Animation = UBScudStrm_ABS.UBScudStrm_ABS AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm_ABSN Animation = UBScudStrm_ABSN.UBScudStrm_ABSN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBScudStrm_AB Animation = UBScudStrm_AB.UBScudStrm_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBScudStrm_ABN Animation = UBScudStrm_ABN.UBScudStrm_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBScudStrm_ABS Animation = UBScudStrm_ABS.UBScudStrm_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBScudStrm_ABSN Animation = UBScudStrm_ABSN.UBScudStrm_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBScudStrm_AB Animation = UBScudStrm_AB.UBScudStrm_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBScudStrm_ABN Animation = UBScudStrm_ABN.UBScudStrm_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBScudStrm_ABS Animation = UBScudStrm_ABS.UBScudStrm_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBScudStrm_ABSN Animation = UBScudStrm_ABSN.UBScudStrm_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_06 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBScudStrm_AC Animation = UBScudStrm_AC.UBScudStrm_AC AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBScudStrm_ACN Animation = UBScudStrm_ACN.UBScudStrm_ACN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBScudStrm_ACS Animation = UBScudStrm_ACS.UBScudStrm_ACS AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBScudStrm_ACSN Animation = UBScudStrm_ACSN.UBScudStrm_ACSN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBScudStrm_AC Animation = UBScudStrm_AC.UBScudStrm_AC AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBScudStrm_ACN Animation = UBScudStrm_ACN.UBScudStrm_ACN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBScudStrm_ACS Animation = UBScudStrm_ACS.UBScudStrm_ACS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBScudStrm_ACSN Animation = UBScudStrm_ACSN.UBScudStrm_ACSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBScudStrm_AC Animation = UBScudStrm_AC.UBScudStrm_AC AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBScudStrm_ACN Animation = UBScudStrm_ACN.UBScudStrm_ACN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBScudStrm_ACS Animation = UBScudStrm_ACS.UBScudStrm_ACS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBScudStrm_ACSN Animation = UBScudStrm_ACSN.UBScudStrm_ACSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:ScudStorm Side = GLAStealthGeneral EditorSorting = STRUCTURE Prerequisites Object = Slth_GLAPalace End BuildCost = 5000 BuildTime = 60.0 ; in seconds EnergyProduction = 0 CommandSet = Slth_GLAScudStormCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ShroudRevealToAllRange = 60 ; Reveals shroud to all players at a specific amount which can be different. ; Using same value? Then use KINDOF_REVEAL_TO_ALL instead! WeaponSet Conditions = None Weapon = PRIMARY ScudStormWeapon AutoChooseSources = PRIMARY NONE End ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 400 400 400 400 ; Experience point value at each level MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games MaxSimultaneousLinkKey = Superweapon ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType ; *** AUDIO Parameters *** VoiceSelect = ScudStormSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) TurretMoveLoopLoud End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY SCORE_CREATE FS_SUPERWEAPON Body = StructureBody ModuleTag_07 MaxHealth = 4000.0 InitialHealth = 4000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 4200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = RebuildHoleExposeDie ModuleTag_08 HoleName = GLAHoleScudStorm HoleMaxHealth = 500.0 End Behavior = AIUpdateInterface ModuleTag_09 End Behavior = OCLSpecialPower ModuleTag_10 SpecialPowerTemplate = SuperweaponScudStorm OCL = SUPERWEAPON_ScudStorm End Behavior = SpecialPowerCreate ModuleTag_11 ;nothing End Behavior = DestroyDie ModuleTag_12 ;nothing End Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_PoisonFieldMedium ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_14 DeathFX = WeaponFX_BombTruckHighExplosiveBioBombDetonation ExemptStatus = UNDER_CONSTRUCTION End Behavior = FlammableUpdate ModuleTag_16 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = RadiusDecalUpdate ModuleTag_17 ; nothing End Behavior = TransitionDamageFX ModuleTag_18 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = FXListDie ModuleTag_19 DeathFX = FX_BuildingDie End ; Behavior = GrantUpgradeCreate ModuleTag_900 ; UpgradeToGrant = Upgrade_GLACamoNetting ; End Behavior = ProductionUpdate ModuleTag_21 ; nothing End Behavior = StealthUpdate ModuleStealth_09 StealthDelay = 2500 ; msec StealthForbiddenConditions = ATTACKING USING_ABILITY TAKING_DAMAGE InnateStealth = No ;Requires upgrade first OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = StealthUpgrade ModuleTag_20 TriggeredBy = Upgrade_GLACamoNetting END Geometry = BOX GeometryMajorRadius = 71.0 GeometryMinorRadius = 67.0 GeometryHeight = 25.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;GLA Slth Trap Object Slth_GLADemoTrap ; *** ART Parameters *** SelectPortrait = SSHideBomb ButtonImage = SSHideBomb Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = EXHideBomb End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = RUBBLE AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = EXHideBomb Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = EXHideBomb Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = EXHideBomb Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:DemoTrap Side = GLAStealthGeneral EditorSorting = STRUCTURE Prerequisites Object = Slth_GLAArmsDealer End BuildCost = 400 BuildTime = 5.0 ; in seconds EnergyProduction = 0 VisionRange = 150.0 ; Shroud clearing distance ShroudClearingRange = 150.0 ; Shroud clearing distance ExperienceValue = 50 50 50 50 ; Experience point value at each level WeaponSet ;The weapon set is used to determine detonation mode Conditions = None Weapon = PRIMARY DummyWeapon ;Used for mode matching only (when to detonate) Weapon = SECONDARY DummyWeapon ;Used for mode matching only (when to detonate) Weapon = TERTIARY DummyWeapon ;Used for mode matching only (when to detonate) AutoChooseSources = PRIMARY NONE AutoChooseSources = SECONDARY NONE AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = StructureArmor DamageFX = DefaultDamageFX ; Too small for normal building FX, but if we do make dedicated one it should be silent End CommandSet = Slth_GLADemoTrapCommandSet ; *** AUDIO Parameters *** VoiceSelect = UndergroundGeneratorSelect SoundOnDamaged = NoSound SoundOnReallyDamaged = NoSound UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE IMMUNE_TO_CAPTURE DEMOTRAP Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = StealthUpdate ModuleTag_03 StealthDelay = 0 ; msec StealthForbiddenConditions = NONE FriendlyOpacityMin = 100.0% OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = DemoTrapUpdate ModuleTag_04 DefaultProximityMode = Yes ;If yes, defaults to proximity mode, otherwise defaults to manual. DetonationWeaponSlot = PRIMARY ;The slot the weapon is in when it detonates. ProximityModeWeaponSlot = SECONDARY ;The slot proximity mode is determined by (bogus weapon) ManualModeWeaponSlot = TERTIARY ;The slot manual mode is determined by (bogus weapon) TriggerDetonationRange = 40.0 ;Detonation range when in proximity mode (and must be on ground) IgnoreTargetTypes = PROJECTILE UNATTACKABLE AutoDetonationWithFriendsInvolved = Yes ;GLA are low tech ; DetonationWeapon = DemoTrapDetonationWeapon DetonateWhenKilled = Yes End Behavior = SlowDeathBehavior ModuleTag_05 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 1000 FX = INITIAL FX_GLADemoTrapWarning Weapon = FINAL DemoTrapDetonationWeapon End Behavior = FlammableUpdate ModuleTag_07 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = InstantDeathBehavior ModuleTag_08 ; if we are under construction, use this death instead RequiredStatus = UNDER_CONSTRUCTION ; no effect End BuildCompletion = PLACED_BY_PLAYER Shadow = SHADOW_VOLUME Geometry = CYLINDER GeometryMajorRadius = 4.0 GeometryHeight = 9 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ObjectReskin Slth_GLAHoleDemoTrap Slth_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End ;Remove comments for this section and replace the model entries for the ;pristine, and damage/reallydamaged rubble around the GLA hole below ; Draw = W3DModelDraw ; OkToChangeModelColor = Yes ; ConditionState = NONE ; Model = UBSupply_R ; End ; ConditionState = DAMAGED REALLYDAMAGED ; Model = UBSupply_R ; End ; End End ; ----------------------------------------------------------------------------- Object Slth_GLATunnelNetwork ; *** ART Parameters *** SelectPortrait = SUTunnel_L ButtonImage = SUTunnel UpgradeCameo1 = Upgrade_GLACamoNetting ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UBUndTunn Turret = Turret01 WeaponFireFXBone = PRIMARY BarrelMS WeaponMuzzleFlash = PRIMARY BarrelFX End ConditionState = DAMAGED Model = UBUndTunn_D End ConditionState = REALLYDAMAGED RUBBLE Model = UBUndTunn_E ParticleSysBone = Steam01 SteamVent End ConditionState = SNOW Model = UBUndTunn_S End ConditionState = DAMAGED SNOW Model = UBUndTunn_DS End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBUndTunn_ES ParticleSysBone = Steam01 SteamVent End ConditionState = NIGHT Model = UBUndTunn_N End ConditionState = DAMAGED NIGHT Model = UBUndTunn_DN End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBUndTunn_EN ParticleSysBone = Steam01 SteamVent End ConditionState = SNOW NIGHT Model = UBUndTunn_NS End ConditionState = DAMAGED SNOW NIGHT Model = UBUndTunn_DNS End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = UBUndTunn_ENS ParticleSysBone = Steam01 SteamVent End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBUndTunn Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBUndTunn_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBUndTunn_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBUndTunn_N Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBUndTunn_DN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBUndTunn_EN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBUndTunn_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBUndTunn_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBUndTunn_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBUndTunn_NS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBUndTunn_DNS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBUndTunn_ENS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBUndTunn_A4 Animation = UBUndTunn_A4.UBUndTunn_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBUndTunn_A4N Animation = UBUndTunn_A4N.UBUndTunn_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBUndTunn_A4S Animation = UBUndTunn_A4S.UBUndTunn_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBUndTunn_A4SN Animation = UBUndTunn_A4SN.UBUndTunn_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBUndTunn_A4 Animation = UBUndTunn_A4.UBUndTunn_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBUndTunn_A4N Animation = UBUndTunn_A4N.UBUndTunn_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBUndTunn_A4S Animation = UBUndTunn_A4S.UBUndTunn_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBUndTunn_A4SN Animation = UBUndTunn_A4SN.UBUndTunn_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBUndTunn_A4 Animation = UBUndTunn_A4.UBUndTunn_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBUndTunn_A4N Animation = UBUndTunn_A4N.UBUndTunn_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBUndTunn_A4S Animation = UBUndTunn_A4S.UBUndTunn_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBUndTunn_A4SN Animation = UBUndTunn_A4SN.UBUndTunn_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBUndTunn_A6 Animation = UBUndTunn_A6.UBUndTunn_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBUndTunn_A6N Animation = UBUndTunn_A6N.UBUndTunn_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBUndTunn_A6S Animation = UBUndTunn_A6S.UBUndTunn_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBUndTunn_A6SN Animation = UBUndTunn_A6SN.UBUndTunn_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBUndTunn_A6 Animation = UBUndTunn_A6.UBUndTunn_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBUndTunn_A6N Animation = UBUndTunn_A6N.UBUndTunn_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBUndTunn_A6S Animation = UBUndTunn_A6S.UBUndTunn_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBUndTunn_A6SN Animation = UBUndTunn_A6SN.UBUndTunn_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBUndTunn_A6 Animation = UBUndTunn_A6.UBUndTunn_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBUndTunn_A6N Animation = UBUndTunn_A6N.UBUndTunn_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBUndTunn_A6S Animation = UBUndTunn_A6S.UBUndTunn_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBUndTunn_A6SN Animation = UBUndTunn_A6SN.UBUndTunn_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:TunnelNetwork Side = GLAStealthGeneral EditorSorting = STRUCTURE Prerequisites Object = Slth_GLABarracks End BuildCost = 800 RefundValue = 100 ; With nothing (or zero) listed, we sell for half price. BuildTime = 15.0 ; in seconds EnergyProduction = 0 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End WeaponSet Conditions = None Weapon = PRIMARY TunnelNetworkGun End CommandSet = Slth_GLATunnelNetworkCommandSet ExperienceValue = 100 100 100 100 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = TunnelNetworkSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy SoundEnter = GarrisonEnter SoundExit = GarrisonExit UnitSpecificSounds UnderConstruction = UnderConstructionLoop TurretMoveLoop = NoSound End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE FS_BASE_DEFENSE IMMUNE_TO_CAPTURE SCORE_CREATE AUTO_RALLYPOINT Body = StructureBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = StealthDetectorUpdate ModuleTag_13 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 150 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = AIUpdateInterface ModuleTag_16 Turret TurretTurnRate = 180 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes Stealthed; defensive weapon End Behavior = TunnelContain ModuleTag_05 TimeForFullHeal = 5000 ;(in milliseconds) End ;Kris: Removed this module from because units exiting the container would extract information ;from the wrong exit interface. And we don't appear to need it for the spawns because they ;use OpenContain instead. ;Behavior = DefaultProductionExitUpdate ModuleTag_06 ; UnitCreatePoint = X: 5.0 Y: 0.0 Z:0.0 ; NaturalRallyPoint = X: 35.0 Y: 0.0 Z:0.0 ;End Behavior = SpawnBehavior ModuleTag_07 SpawnNumber = 2 SpawnReplaceDelay = 9999 SpawnTemplateName = Slth_GLAInfantryTunnelDefender OneShot = Yes CanReclaimOrphans = No SlavesHaveFreeWill = Yes End Behavior = RebuildHoleExposeDie ModuleTag_09 HoleName = GLAHoleTunnelNetwork HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_10 ;nothing End Behavior = CreateObjectDie ModuleTag_11 CreationList = OCL_ABTunnelNetworkDebris End Behavior = FXListDie ModuleTag_12 DeathFX = FX_StructureSmallDeath End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = StealthUpdate ModuleTag_17 StealthDelay = 2500 ; msec StealthForbiddenConditions = ATTACKING USING_ABILITY TAKING_DAMAGE MoveThresholdSpeed = 3 InnateStealth = Yes ;Require the upgrade first OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = GrantUpgradeCreate ModuleTag_18 UpgradeToGrant = Upgrade_GLACamoNetting End Behavior = ProductionUpdate ModuleTag_19 End Behavior = TransitionDamageFX ModuleTag_20 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = CYLINDER GeometryMajorRadius = 25.0 GeometryHeight = 20.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Slth_GLAHoleTunnelNetwork Slth_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBUndTunn_R End ConditionState = DAMAGED REALLYDAMAGED Model = UBUndTunn_R End End End ;------------------------------------------------------------------------------ Object Slth_GLAStingerSite ; *** ART Parameters *** SelectPortrait = SUStinger_L ButtonImage = SUStinger UpgradeCameo1 = Upgrade_GLAAPRockets UpgradeCameo2 = Upgrade_GLACamoNetting ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ************************************ ConditionState = NONE Model = UBStingerS End ConditionState = DAMAGED Model = UBStingerS_D End ConditionState = REALLYDAMAGED RUBBLE Model = UBStingerS_E End ; day snow ************************************ ConditionState = SNOW Model = UBStingerS_S End ConditionState = DAMAGED SNOW Model = UBStingerS_DS End ConditionState = REALLYDAMAGED SNOW RUBBLE Model = UBStingerS_ES End ; night ********************************** ConditionState = NIGHT Model = UBStingerS_N End ConditionState = DAMAGED NIGHT Model = UBStingerS_DN End ConditionState = REALLYDAMAGED NIGHT RUBBLE Model = UBStingerS_EN End ; night snow ********************************** ConditionState = NIGHT SNOW Model = UBStingerS_NS End ConditionState = DAMAGED NIGHT SNOW Model = UBStingerS_DNS End ConditionState = REALLYDAMAGED NIGHT SNOW RUBBLE Model = UBStingerS_ENS End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBStingerS ; Animation = UBStingerS.UBStingerS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBStingerS_D ; Animation = UBStingerS_D.UBStingerS_D ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBStingerS_E ; Animation = UBStingerS_E.UBStingerS_E ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBStingerS_N ; Animation = UBStingerS_N.UBStingerS_N ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBStingerS_DN ; Animation = UBStingerS_DN.UBStingerS_DN ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBStingerS_EN ; Animation = UBStingerS_EN.UBStingerS_EN ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBStingerS_S ; Animation = UBStingerS_S.UBStingerS_S ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBStingerS_DS ; Animation = UBStingerS_DS.UBStingerS_DS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBStingerS_ES ; Animation = UBStingerS_ES.UBStingerS_ES ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBStingerS_NS ; Animation = UBStingerS_NS.UBStingerS_NS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBStingerS_DNS ; Animation = UBStingerS_DNS.UBStingerS_DNS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBStingerS_ENS ; Animation = UBStingerS_ENS.UBStingerS_ENS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBStingerS_A4 Animation = UBStingerS_A4.UBStingerS_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBStingerS_A4N Animation = UBStingerS_A4N.UBStingerS_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBStingerS_A4S Animation = UBStingerS_A4S.UBStingerS_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBStingerS_A4SN Animation = UBStingerS_A4SN.UBStingerS_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBStingerS_A4 Animation = UBStingerS_A4.UBStingerS_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBStingerS_A4N Animation = UBStingerS_A4N.UBStingerS_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBStingerS_A4S Animation = UBStingerS_A4S.UBStingerS_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBStingerS_A4SN Animation = UBStingerS_A4SN.UBStingerS_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBStingerS_A4 Animation = UBStingerS_A4.UBStingerS_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBStingerS_A4N Animation = UBStingerS_A4N.UBStingerS_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBStingerS_A4S Animation = UBStingerS_A4S.UBStingerS_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBStingerS_A4SN Animation = UBStingerS_A4SN.UBStingerS_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBStingerS_A6 Animation = UBStingerS_A6.UBStingerS_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBStingerS_A6N Animation = UBStingerS_A6N.UBStingerS_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBStingerS_A6S Animation = UBStingerS_A6S.UBStingerS_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBStingerS_A6SN Animation = UBStingerS_A6SN.UBStingerS_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBStingerS_A6 Animation = UBStingerS_A6.UBStingerS_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBStingerS_A6N Animation = UBStingerS_A6N.UBStingerS_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBStingerS_A6S Animation = UBStingerS_A6S.UBStingerS_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBStingerS_A6SN Animation = UBStingerS_A6SN.UBStingerS_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBStingerS_A6 Animation = UBStingerS_A6.UBStingerS_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBStingerS_A6N Animation = UBStingerS_A6N.UBStingerS_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBStingerS_A6S Animation = UBStingerS_A6S.UBStingerS_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBStingerS_A6SN Animation = UBStingerS_A6SN.UBStingerS_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:StingerSite Side = GLAStealthGeneral EditorSorting = STRUCTURE Prerequisites Object = Slth_GLABarracks End BuildCost = 900 BuildTime = 15.0 ; in seconds EnergyProduction = 0 VisionRange = 600.0 ; Shroud clearing distance ShroudClearingRange = 400 ArmorSet Conditions = None Armor = StingerSiteArmor DamageFX = StructureDamageFXNoShake End CommandSet = Slth_GLAStingerSiteCommandSet ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = StingerSiteSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_BASE_DEFENSE IMMUNE_TO_CAPTURE SPAWNS_ARE_THE_WEAPONS SCORE_CREATE Body = HiveStructureBody ModuleTag_04 ;Requires SpawnBehavior! MaxHealth = 1000.0 InitialHealth = 1000.0 ;**Careful with these damage types -- because area damage types will already ;**damage slaves. PropagateDamageTypesToSlavesWhenExisting = NONE +SMALL_ARMS +SNIPER +POISON +RADIATION +SURRENDER SwallowDamageTypesIfSlavesNotExisting = NONE +SNIPER +POISON +SURRENDER; Take no damage if no one to pass this to ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = SpawnPointProductionExitUpdate ModuleTag_05 SpawnPointBoneName = SpawnPoint End Behavior = SpawnBehavior ModuleTag_06 SpawnNumber = 3 SpawnReplaceDelay = 30000 ;msec SpawnTemplateName = Slth_GLAInfantryStingerSoldier CanReclaimOrphans = No SpawnedRequireSpawner = Yes SlavesHaveFreeWill = No End Behavior = RebuildHoleExposeDie ModuleTag_08 HoleName = GLAHoleStingerSite HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_09 ; End Behavior = CreateObjectDie ModuleTag_10 CreationList = OCL_ABStingerSiteDebris End Behavior = FXListDie ModuleTag_11 DeathFX = FX_StructureSmallDeath End Behavior = FireWeaponWhenDeadBehavior ModuleTag_12 DeathWeapon = StingerSiteDeathConcussion StartsActive = Yes End Behavior = StealthUpdate ModuleStealth_09 StealthDelay = 2500 ; msec StealthForbiddenConditions = ATTACKING USING_ABILITY TAKING_DAMAGE InnateStealth = Yes; requires upgrade OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = GrantUpgradeCreate ModuleTag_18 UpgradeToGrant = Upgrade_GLACamoNetting End Behavior = ProductionUpdate ModuleTag_19 End Behavior = FlammableUpdate ModuleTag_16 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_17 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = CYLINDER GeometryMajorRadius = 36.0 GeometryHeight = 9.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Slth_GLAHoleStingerSite Slth_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBStingerS_R End ConditionState = DAMAGED REALLYDAMAGED Model = UBStingerS_R End End End ;------------------------------------------------------------------------------ Object Slth_GLAPalace UpgradeCameo1 = Upgrade_GLAFortifiedStructure UpgradeCameo2 = Upgrade_GLACamoNetting ; *** ART Parameters *** SelectPortrait = SUPalace_L ButtonImage = SUPalace Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBPalace ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace.UBPalace AnimationMode = LOOP End ConditionState = DAMAGED Model = UBPalace_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_D.UBPalace_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBPalace_E ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED Model = UBPalace_G ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_G.UBPalace_G AnimationMode = LOOP End ConditionState = USER_1 Model = UBPalaceEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG.UBPalaceEG AnimationMode = LOOP End ConditionState = USER_1 GARRISONED Model = UBPalaceEGX ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX.UBPalaceEGX AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBPalace_DG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DG.UBPalace_DG AnimationMode = LOOP End ConditionState = DAMAGED USER_1 Model = UBPalaceEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_D.UBPalaceEG_D AnimationMode = LOOP End ConditionState = DAMAGED USER_1 GARRISONED Model = UBPalaceEGX_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_D.UBPalaceEGX_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBPalace_EG ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 Model = UBPalaceEG_E ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 GARRISONED Model = UBPalaceEGX_E ParticleSysBone = Smoke01 SmolderingSmoke End ; day snow ConditionState = SNOW Model = UBPalace_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_S.UBPalace_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBPalace_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DS.UBPalace_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBPalace_ES ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED SNOW Model = UBPalace_SG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_SG.UBPalace_SG AnimationMode = LOOP End ConditionState = USER_1 SNOW Model = UBPalaceEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_S.UBPalaceEG_S AnimationMode = LOOP End ConditionState = USER_1 SNOW GARRISONED Model = UBPalaceEGX_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_S.UBPalaceEGX_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBPalace_DSG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DSG.UBPalace_DSG AnimationMode = LOOP End ConditionState = DAMAGED USER_1 SNOW Model = UBPalaceEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_DS.UBPalaceEG_DS AnimationMode = LOOP End ConditionState = DAMAGED USER_1 SNOW GARRISONED Model = UBPalaceEGX_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_DSG.UBPalaceEGX_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBPalace_ESG ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 SNOW Model = UBPalaceEG_ES ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 GARRISONED SNOW Model = UBPalaceEGX_ES ParticleSysBone = Smoke01 SmolderingSmoke End ; night ConditionState = NIGHT Model = UBPalace_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_N.UBPalace_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBPalace_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DN.UBPalace_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBPalace_EN ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED NIGHT Model = UBPalace_NG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_NG.UBPalace_NG AnimationMode = LOOP End ConditionState = USER_1 NIGHT Model = UBPalaceEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_N.UBPalaceEG_N AnimationMode = LOOP End ; commented out until we get the right state (garrison + elite guard) ConditionState = USER_1 NIGHT GARRISONED Model = UBPalaceEGX_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_N.UBPalaceEGX_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBPalace_DGN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DGN.UBPalace_DGN AnimationMode = LOOP End ConditionState = DAMAGED USER_1 NIGHT Model = UBPalaceEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_DN.UBPalaceEG_DN AnimationMode = LOOP End ConditionState = DAMAGED USER_1 NIGHT GARRISONED Model = UBPalaceEGX_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_DN.UBPalaceEGX_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBPalace_ENG ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 NIGHT Model = UBPalaceEG_EN ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 NIGHT GARRISONED Model = UBPalaceEGX_EN ParticleSysBone = Smoke01 SmolderingSmoke End ; night snow ConditionState = SNOW NIGHT Model = UBPalace_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_NS.UBPalace_NS AnimationMode = LOOP End ConditionState = DAMAGED SNOW NIGHT Model = UBPalace_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DNS.UBPalace_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = UBPalace_ENS ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED SNOW NIGHT Model = UBPalace_GNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_GNS.UBPalace_GNS AnimationMode = LOOP End ConditionState = USER_1 SNOW NIGHT Model = UBPalaceEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_NS.UBPalaceEG_NS AnimationMode = LOOP End ConditionState = USER_1 SNOW NIGHT GARRISONED Model = UBPalaceEGX_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_NS.UBPalaceEGX_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW NIGHT Model = UBPalace_DGNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DGNS.UBPalace_DGNS AnimationMode = LOOP End ConditionState = DAMAGED USER_1 SNOW NIGHT Model = UBPalaceEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_DNS.UBPalaceEG_DNS AnimationMode = LOOP End ConditionState = DAMAGED USER_1 SNOW NIGHT GARRISONED Model = UBPalaceEGX_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_DNS.UBPalaceEGX_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW NIGHT Model = UBPalace_ENSG ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 SNOW NIGHT Model = UBPalaceEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 SNOW NIGHT GARRISONED Model = UBPalaceEGX_ENS ParticleSysBone = Smoke01 SmolderingSmoke End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBPalace Animation = UBPalace.UBPalace AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBPalace_D Animation = UBPalace_D.UBPalace_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBPalace_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBPalace_N Animation = UBPalace_N.UBPalace_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBPalace_DN Animation = UBPalace_DN.UBPalace_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBPalace_EN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBPalace_S Animation = UBPalace_S.UBPalace_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBPalace_DS Animation = UBPalace_DS.UBPalace_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBPalace_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBPalace_NS Animation = UBPalace_NS.UBPalace_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBPalace_DNS Animation = UBPalace_DNS.UBPalace_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBPalace_ENS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION DAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION SNOW USER_1 AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED USER_1 AliasConditionState = SOLD USER_1 AliasConditionState = SOLD DAMAGED USER_1 AliasConditionState = SOLD REALLYDAMAGED USER_1 AliasConditionState = SOLD NIGHT USER_1 AliasConditionState = SOLD NIGHT DAMAGED USER_1 AliasConditionState = SOLD NIGHT REALLYDAMAGED USER_1 AliasConditionState = SOLD SNOW USER_1 AliasConditionState = SOLD SNOW DAMAGED USER_1 AliasConditionState = SOLD SNOW REALLYDAMAGED USER_1 AliasConditionState = SOLD NIGHT SNOW USER_1 AliasConditionState = SOLD NIGHT SNOW DAMAGED USER_1 AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED USER_1 AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD USER_1 AliasConditionState = GARRISONED SOLD DAMAGED USER_1 AliasConditionState = GARRISONED SOLD REALLYDAMAGED USER_1 AliasConditionState = GARRISONED SOLD NIGHT USER_1 AliasConditionState = GARRISONED SOLD NIGHT DAMAGED USER_1 AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED USER_1 AliasConditionState = GARRISONED SOLD SNOW USER_1 AliasConditionState = GARRISONED SOLD SNOW DAMAGED USER_1 AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED USER_1 AliasConditionState = GARRISONED SOLD NIGHT SNOW USER_1 AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED USER_1 AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED USER_1 ;************************************************************************************************************************** End PlacementViewAngle = -45 ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBPalace_A4 Animation = UBPalace_A4.UBPalace_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBPalace_A4N Animation = UBPalace_A4N.UBPalace_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBPalace_A4S Animation = UBPalace_A4S.UBPalace_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBPalace_A4SN Animation = UBPalace_A4SN.UBPalace_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBPalace_A4 Animation = UBPalace_A4.UBPalace_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBPalace_A4N Animation = UBPalace_A4N.UBPalace_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBPalace_A4S Animation = UBPalace_A4S.UBPalace_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBPalace_A4SN Animation = UBPalace_A4SN.UBPalace_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBPalace_A4 Animation = UBPalace_A4.UBPalace_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBPalace_A4N Animation = UBPalace_A4N.UBPalace_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBPalace_A4S Animation = UBPalace_A4S.UBPalace_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBPalace_A4SN Animation = UBPalace_A4SN.UBPalace_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBPalace_A6 Animation = UBPalace_A6.UBPalace_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBPalace_A6N Animation = UBPalace_A6N.UBPalace_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBPalace_A6S Animation = UBPalace_A6S.UBPalace_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBPalace_A6SN Animation = UBPalace_A6SN.UBPalace_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBPalace_A6 Animation = UBPalace_A6.UBPalace_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBPalace_A6N Animation = UBPalace_A6N.UBPalace_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBPalace_A6S Animation = UBPalace_A6S.UBPalace_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBPalace_A6SN Animation = UBPalace_A6SN.UBPalace_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBPalace_A6 Animation = UBPalace_A6.UBPalace_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBPalace_A6N Animation = UBPalace_A6N.UBPalace_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBPalace_A6S Animation = UBPalace_A6S.UBPalace_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBPalace_A6SN Animation = UBPalace_A6SN.UBPalace_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:Palace Side = GLAStealthGeneral EditorSorting = STRUCTURE Prerequisites Object = Slth_GLAArmsDealer End BuildCost = 2500 BuildTime = 45.0 ; in seconds EnergyProduction = 0 VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 300 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmor DamageFX = StructureDamageFXNoShake End CommandSet = Slth_GLAPalaceCommandSet ExperienceValue = 300 300 300 300 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = PalaceSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_TECHNOLOGY GARRISONABLE_UNTIL_DESTROYED IMMUNE_TO_CAPTURE MP_COUNT_FOR_VICTORY SCORE_CREATE FS_ADVANCED_TECH Body = StructureBody ModuleTag_04 MaxHealth = 3000.0 InitialHealth = 3000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 3200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = USER_1 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ProductionUpdate ModuleTag_05 ; nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_SmallStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureMediumDeath End Behavior = GarrisonContain ModuleTag_10 ContainMax = 5 EnterSound = GarrisonEnter ExitSound = GarrisonExit ImmuneToClearBuildingAttacks = Yes End Behavior = FlammableUpdate ModuleTag_11 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = RebuildHoleExposeDie ModuleTag_06 HoleName = GLAHolePalace HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = TransitionDamageFX ModuleTag_12 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = StealthUpdate ModuleStealth_09 StealthDelay = 2500 ; msec StealthForbiddenConditions = ATTACKING USING_ABILITY TAKING_DAMAGE InnateStealth = No ;Requires upgrade first OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = StealthUpgrade ModuleUpgrade_13 TriggeredBy = Upgrade_GLACamoNetting END Geometry = BOX GeometryMajorRadius = 43.0 GeometryMinorRadius = 58.0 GeometryHeight = 30.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Slth_GLAHolePalace Slth_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED RUBBLE Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBPalace_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Flame01 FireBurningBarricade01 End ConditionState = DAMAGED REALLYDAMAGED Model = UBPalace_R ParticleSysBone = Smoke01 SmolderingSmoke End End End ;------------------------------------------------------------------------------ Object Slth_GLASupplyStash UpgradeCameo1 = Upgrade_GLAFortifiedStructure UpgradeCameo2 = Upgrade_GLACamoNetting ; *** ART Parameters *** SelectPortrait = SUSupplyCenter_L ButtonImage = SUSupplyCenter UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBSupply ParticleSysBone = Smoke01 SteamVent Animation = UBSupply.UBSupply AnimationMode = LOOP End ConditionState = DAMAGED Model = UBSupply_D ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_D.UBSupply_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBSupply_E ParticleSysBone = Smoke01 SteamVent End ConditionState = GARRISONED Model = UBSpplyEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG.UBSpplyEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBSpplyEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_D.UBSpplyEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBSpplyEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_E.UBSpplyEG_E AnimationMode = LOOP End ; SNOW ConditionState = SNOW Model = UBSupply_S ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_S.UBSupply_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBSupply_DS ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_DS.UBSupply_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBSupply_ES ParticleSysBone = Smoke01 SteamVent End ConditionState = GARRISONED SNOW Model = UBSpplyEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_S.UBSpplyEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBSpplyEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DS.UBSpplyEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBSpplyEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_ES.UBSpplyEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBSupply_N Animation = UBSupply_N.UBSupply_N AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent End ConditionState = DAMAGED NIGHT Model = UBSupply_DN Animation = UBSupply_DN.UBSupply_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBSupply_EN ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire End ConditionState = GARRISONED NIGHT Model = UBSpplyEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_N.UBSpplyEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBSpplyEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DN.UBSpplyEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBSpplyEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_EN.UBSpplyEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBSupply_NS Animation = UBSupply_NS.UBSupply_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent End ConditionState = DAMAGED NIGHT SNOW Model = UBSupply_DNS Animation = UBSupply_DNS.UBSupply_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBSupply_ENS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire End ConditionState = GARRISONED SNOW NIGHT Model = UBSpplyEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_NS.UBSpplyEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW NIGHT Model = UBSpplyEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DNS.UBSpplyEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW NIGHT Model = UBSpplyEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_ENS.UBSpplyEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply Animation = UBSupply.UBSupply AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBSupply_D Animation = UBSupply_D.UBSupply_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBSupply_E ;Animation = UBSupply_E.UBSupply_E ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBSupply_N Animation = UBSupply_N.UBSupply_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBSupply_DN Animation = UBSupply_DN.UBSupply_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBSupply_EN ;Animation = UBSupply_EN.UBSupply_EN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBSupply_S Animation = UBSupply_S.UBSupply_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBSupply_DS Animation = UBSupply_DS.UBSupply_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBSupply_ES ;Animation = UBSupply_ES.UBSupply_ES ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBSupply_NS Animation = UBSupply_NS.UBSupply_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBSupply_DNS Animation = UBSupply_DNS.UBSupply_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBSupply_ENS ;Animation = UBSupply_ENS.UBSupply_ENS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:SupplyStash Side = GLAStealthGeneral EditorSorting = STRUCTURE BuildCost = 1500 RefundValue = 650 ; With nothing (or zero) listed, we sell for half price. BuildTime = 10.0 ; in seconds EnergyProduction = 0 CommandSet = Slth_GLASupplyStashCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = SupplyCenterGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CASH_GENERATOR CAPTURABLE AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE CANNOT_BUILD_NEAR_SUPPLIES FS_SUPPLY_CENTER IGNORE_DOCKING_BONES Body = StructureBody ModuleTag_04 MaxHealth = 2000.0 InitialHealth = 2000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = SupplyCenterCreate ModuleTag_05 ;nothing End Behavior = RebuildHoleExposeDie ModuleTag_06 HoleName = GLAHoleSupplyStash HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_SmallStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_10 ; nothing End Behavior = SupplyCenterProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 36.0 Y: 0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML GrantTemporaryStealth = 20000 ;Give temporary stealth to the harvester whenever created. Loses it when player order given. End Behavior = SpawnBehavior ModuleTag_12 SpawnNumber = 1 SpawnReplaceDelay = 9999 SpawnTemplateName = Slth_GLAInfantryWorker OneShot = Yes CanReclaimOrphans = No SlavesHaveFreeWill = Yes End Behavior = SupplyCenterDockUpdate ModuleTag_13 AllowsPassthrough = No ;You can't drive through this guy while docking. Use this when the dock points are all outside NumberApproachPositions = -1 ; This is a Boneless dock, so this means infinite can approach GrantTemporaryStealth = 20000 ;Give temporary stealth to the harvester whenever he drops off cash. Loses it when player order given. End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_16 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = StealthUpdate ModuleStealth_09 StealthDelay = 2500 ; msec StealthForbiddenConditions = ATTACKING USING_ABILITY TAKING_DAMAGE InnateStealth = No ;Requires upgrade first OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = StealthUpgrade ModuleTag_17 TriggeredBy = Upgrade_GLACamoNetting END ;Dont forget to edit the GLA Hole geometry for this object too Geometry = BOX GeometryMajorRadius = 36.0 GeometryMinorRadius = 35.0 GeometryHeight = 30.0 GeometryIsSmall = No ;FactoryExtraBibWidth= 1.0 ; extra placement border. Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Slth_GLAHoleSupplyStash Slth_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED RUBBLE Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBSupply_R ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke End ConditionState = DAMAGED REALLYDAMAGED RUBBLE Model = UBSupply_R ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke End End End ;------------------------------------------------------------------------------ Object Slth_FakeGLASupplyStash UpgradeCameo1 = Upgrade_GLAFortifiedStructure UpgradeCameo2 = Upgrade_GLACamoNetting ; *** ART Parameters *** SelectPortrait = SUSupplyCenter_L ButtonImage = SUSupplyCenter UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBSupply ParticleSysBone = Smoke01 SteamVent Animation = UBSupply.UBSupply AnimationMode = LOOP End ConditionState = DAMAGED Model = UBSupply_D ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_D.UBSupply_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBSupply_E ParticleSysBone = Smoke01 SteamVent End ConditionState = GARRISONED Model = UBSpplyEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG.UBSpplyEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBSpplyEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_D.UBSpplyEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBSpplyEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_E.UBSpplyEG_E AnimationMode = LOOP End ; SNOW ConditionState = SNOW Model = UBSupply_S ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_S.UBSupply_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBSupply_DS ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_DS.UBSupply_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBSupply_ES ParticleSysBone = Smoke01 SteamVent End ConditionState = GARRISONED SNOW Model = UBSpplyEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_S.UBSpplyEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBSpplyEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DS.UBSpplyEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBSpplyEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_ES.UBSpplyEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBSupply_N Animation = UBSupply_N.UBSupply_N AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent End ConditionState = DAMAGED NIGHT Model = UBSupply_DN Animation = UBSupply_DN.UBSupply_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBSupply_EN ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire End ConditionState = GARRISONED NIGHT Model = UBSpplyEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_N.UBSpplyEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBSpplyEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DN.UBSpplyEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBSpplyEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_EN.UBSpplyEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBSupply_NS Animation = UBSupply_NS.UBSupply_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent End ConditionState = DAMAGED NIGHT SNOW Model = UBSupply_DNS Animation = UBSupply_DNS.UBSupply_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBSupply_ENS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire End ConditionState = GARRISONED SNOW NIGHT Model = UBSpplyEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_S.UBSpplyEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW NIGHT Model = UBSpplyEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DNS.UBSpplyEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW NIGHT Model = UBSpplyEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_ENS.UBSpplyEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply Animation = UBSupply.UBSupply AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBSupply_D Animation = UBSupply_D.UBSupply_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBSupply_E ;Animation = UBSupply_E.UBSupply_E ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBSupply_N Animation = UBSupply_N.UBSupply_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBSupply_DN Animation = UBSupply_DN.UBSupply_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBSupply_EN ;Animation = UBSupply_EN.UBSupply_EN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBSupply_S Animation = UBSupply_S.UBSupply_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBSupply_DS Animation = UBSupply_DS.UBSupply_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBSupply_ES ;Animation = UBSupply_ES.UBSupply_ES ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBSupply_NS Animation = UBSupply_NS.UBSupply_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBSupply_DNS Animation = UBSupply_DNS.UBSupply_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBSupply_ENS ;Animation = UBSupply_ENS.UBSupply_ENS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:SupplyStash Side = GLAStealthGeneral EditorSorting = STRUCTURE Prerequisites Object = Slth_GLACommandCenter End BuildCost = 375 BuildTime = 5.0 ; in seconds EnergyProduction = 0 CommandSet = FakeGLASupplyStashCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 50 50 50 50 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = SupplyCenterGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE Body = StructureBody ModuleTag_04 MaxHealth = 250.0 InitialHealth = 250.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 450 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_SmallStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_10 ; nothing End Behavior = AIUpdateInterface ModuleTag_11 AutoAcquireEnemiesWhenIdle = No End Behavior = SlowDeathBehavior ModuleTag_12 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 0 Weapon = FINAL FakeStructureDetonationWeapon End Behavior = DestroyDie ModuleTag_SlowDeathException RequiredStatus = UNDER_CONSTRUCTION End Behavior = ReplaceObjectUpgrade ModuleTag_13 ReplaceObject = Slth_GLASupplyStash TriggeredBy = Upgrade_BecomeRealGLASupplyStash End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_16 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = StealthUpdate ModuleStealth_09 StealthDelay = 2500 ; msec StealthForbiddenConditions = ATTACKING USING_ABILITY TAKING_DAMAGE InnateStealth = No ;Requires upgrade first OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = StealthUpgrade ModuleTag_17 TriggeredBy = Upgrade_GLACamoNetting END ;Dont forget to edit the GLA Hole geometry for this object too Geometry = BOX GeometryMajorRadius = 36.0 GeometryMinorRadius = 35.0 GeometryHeight = 30.0 GeometryIsSmall = No ;FactoryExtraBibWidth= 1.0 ; extra placement border. Shadow = SHADOW_VOLUME ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure. ShadowSizeX = 105 ShadowSizeY = 105 BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;GLA Barracks Object Slth_GLABarracks UpgradeCameo1 = Upgrade_GLAFortifiedStructure UpgradeCameo2 = Upgrade_GLACamoNetting ; *** ART Parameters *** SelectPortrait = SUBarracks_L ButtonImage = SUBarracks UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBBARRACKS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks.UBBarracks AnimationMode = LOOP End ConditionState = DAMAGED Model = UBBarracks_D ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Flame01 FireFactionMedium Animation = UBBarracks_D.UBBarracks_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBBarracks_E ParticleSysBone = Smoke01 ChimneySmokeSmall ; ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Smoke04 SmokeFactionLarge ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Flame01 FireFactionMedium ; ParticleSysBone = Flame02 FireFactionLarge Animation = UBBarracks_E.UBBarracks_E AnimationMode = LOOP End ConditionState = GARRISONED Model = UBBarrksEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG.UBBarrksEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBBarrksEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_D.UBBarrksEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBBarrksEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_E.UBBarrksEG_E AnimationMode = LOOP End ; day ConditionState = SNOW Model = UBBARRACKS_S ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_S.UBBarracks_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBBarracks_DS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Flame01 FireFactionMedium Animation = UBBarracks_DS.UBBarracks_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBBarracks_ES ParticleSysBone = Smoke01 ChimneySmokeSmall ; ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Smoke04 SmokeFactionLarge ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Flame01 FireFactionMedium ; ParticleSysBone = Flame02 FireFactionLarge Animation = UBBarracks_ES.UBBarracks_ES AnimationMode = LOOP End ConditionState = GARRISONED SNOW Model = UBBarrksEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_S.UBBarrksEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBBarrksEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DS.UBBarrksEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBBarrksEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_ES.UBBarrksEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBBARRACKS_N ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_N.UBBarracks_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBBarracks_DN ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Flame01 GLAPowerPlantFlame Animation = UBBarracks_DN.UBBarracks_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBBarracks_EN ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Smoke04 GLAPowerPlantSmoke ParticleSysBone = Smoke05 GLAPowerPlantSmoke ParticleSysBone = Flame01 FireSmallContinuous ParticleSysBone = Flame02 GLAPowerPlantFlame Animation = UBBarracks_EN.UBBarracks_EN AnimationMode = LOOP End ConditionState = GARRISONED NIGHT Model = UBBarrksEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_N.UBBarrksEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBBarrksEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DN.UBBarrksEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBBarrksEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_EN.UBBarrksEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBBARRACKS_NS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_NS.UBBarracks_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = UBBarracks_DNS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Flame01 GLAPowerPlantFlame Animation = UBBarracks_DNS.UBBarracks_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBBarracks_ENS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Smoke04 GLAPowerPlantSmoke ParticleSysBone = Smoke05 GLAPowerPlantSmoke ParticleSysBone = Flame01 FireSmallContinuous ParticleSysBone = Flame02 GLAPowerPlantFlame Animation = UBBarracks_ENS.UBBarracks_ENS AnimationMode = LOOP End ConditionState = GARRISONED NIGHT SNOW Model = UBBarrksEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_NS.UBBarrksEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBBarrksEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DNS.UBBarrksEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBBarrksEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_ENS.UBBarrksEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks Animation = UBBarracks.UBBarracks AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBBarracks_D Animation = UBBarracks_D.UBBarracks_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBBarracks_E Animation = UBBarracks_E.UBBarracks_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBBarracks_N Animation = UBBarracks_N.UBBarracks_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBBarracks_DN Animation = UBBarracks_DN.UBBarracks_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBBarracks_EN Animation = UBBarracks_EN.UBBarracks_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBBarracks_S Animation = UBBarracks_S.UBBarracks_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBBarracks_DS Animation = UBBarracks_DS.UBBarracks_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBBarracks_ES Animation = UBBarracks_ES.UBBarracks_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBBarracks_NS Animation = UBBarracks_NS.UBBarracks_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBBarracks_DNS Animation = UBBarracks_DNS.UBBarracks_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBBarracks_ENS Animation = UBBarracks_ENS.UBBarracks_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke ParticleSysBone = Smoke06 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke ParticleSysBone = Smoke06 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke ParticleSysBone = Smoke06 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke ParticleSysBone = Smoke06 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:Barracks Side = GLAStealthGeneral EditorSorting = STRUCTURE BuildCost = 500 BuildTime = 10.0 ; in seconds EnergyProduction = 0 CommandSet = Slth_GLABarracksCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 100 100 100 100 ; Experience point value at each level Prerequisites ; Object = Slth_GLASupplyStash End ; *** AUDIO Parameters *** VoiceSelect = BarracksGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE HEAL_PAD CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE FS_BARRACKS Body = StructureBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = HealContain ModuleTag_05 ContainMax = 10 ;way bigger than the # of objects we can have TimeForFullHeal = 2000 ;(in milliseconds) AllowInsideKindOf = INFANTRY AllowAlliesInside = Yes AllowNeutralInside = No AllowEnemiesInside = No End Behavior = RebuildHoleExposeDie ModuleTag_06 HoleName = GLAHoleBarracks HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_10 ; nothing End Behavior = DefaultProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 42.0 Y: 0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = FlammableUpdate ModuleTag_13 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_16 ;-------------DESIGNED FOR SMALL MEDIUM FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = GrantUpgradeCreate ModuleTag_17 UpgradeToGrant = Upgrade_AmericaRadar ExemptStatus = UNDER_CONSTRUCTION End Behavior = StealthUpdate ModuleStealth_09 StealthDelay = 2500 ; msec StealthForbiddenConditions = ATTACKING USING_ABILITY TAKING_DAMAGE InnateStealth = No ;Requires upgrade first OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = StealthUpgrade ModuleTag_18 TriggeredBy = Upgrade_GLACamoNetting END Geometry = BOX GeometryMajorRadius = 42.0 GeometryMinorRadius = 52.0 GeometryHeight = 20.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;Fake GLA Barracks Object Slth_FakeGLABarracks UpgradeCameo1 = Upgrade_GLAFortifiedStructure UpgradeCameo2 = Upgrade_GLACamoNetting ; *** ART Parameters *** SelectPortrait = SUBarracks_L ButtonImage = SUBarracks UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBBARRACKS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks.UBBarracks AnimationMode = LOOP End ConditionState = DAMAGED Model = UBBarracks_D ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Flame01 FireFactionMedium Animation = UBBarracks_D.UBBarracks_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBBarracks_E ParticleSysBone = Smoke01 ChimneySmokeSmall ; ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Smoke04 SmokeFactionLarge ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Flame01 FireFactionMedium ; ParticleSysBone = Flame02 FireFactionLarge Animation = UBBarracks_E.UBBarracks_E AnimationMode = LOOP End ConditionState = GARRISONED Model = UBBarrksEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG.UBBarrksEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBBarrksEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_D.UBBarrksEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBBarrksEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_E.UBBarrksEG_E AnimationMode = LOOP End ; day ConditionState = SNOW Model = UBBARRACKS_S ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_S.UBBarracks_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBBarracks_DS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Flame01 FireFactionMedium Animation = UBBarracks_DS.UBBarracks_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBBarracks_ES ParticleSysBone = Smoke01 ChimneySmokeSmall ; ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Smoke04 SmokeFactionLarge ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Flame01 FireFactionMedium ; ParticleSysBone = Flame02 FireFactionLarge Animation = UBBarracks_ES.UBBarracks_ES AnimationMode = LOOP End ConditionState = GARRISONED SNOW Model = UBBarrksEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_S.UBBarrksEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBBarrksEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DS.UBBarrksEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBBarrksEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_ES.UBBarrksEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBBARRACKS_N ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_N.UBBarracks_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBBarracks_DN ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Flame01 GLAPowerPlantFlame Animation = UBBarracks_DN.UBBarracks_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBBarracks_EN ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Smoke04 GLAPowerPlantSmoke ParticleSysBone = Smoke05 GLAPowerPlantSmoke ParticleSysBone = Flame01 FireSmallContinuous ParticleSysBone = Flame02 GLAPowerPlantFlame Animation = UBBarracks_EN.UBBarracks_EN AnimationMode = LOOP End ConditionState = GARRISONED NIGHT Model = UBBarrksEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_N.UBBarrksEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBBarrksEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DN.UBBarrksEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBBarrksEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_EN.UBBarrksEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBBARRACKS_NS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_NS.UBBarracks_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = UBBarracks_DNS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Flame01 GLAPowerPlantFlame Animation = UBBarracks_DNS.UBBarracks_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBBarracks_ENS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Smoke04 GLAPowerPlantSmoke ParticleSysBone = Smoke05 GLAPowerPlantSmoke ParticleSysBone = Flame01 FireSmallContinuous ParticleSysBone = Flame02 GLAPowerPlantFlame Animation = UBBarracks_ENS.UBBarracks_ENS AnimationMode = LOOP End ConditionState = GARRISONED NIGHT SNOW Model = UBBarrksEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_NS.UBBarrksEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBBarrksEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DNS.UBBarrksEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBBarrksEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_ENS.UBBarrksEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks Animation = UBBarracks.UBBarracks AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBBarracks_D Animation = UBBarracks_D.UBBarracks_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBBarracks_E Animation = UBBarracks_E.UBBarracks_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBBarracks_N Animation = UBBarracks_N.UBBarracks_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBBarracks_DN Animation = UBBarracks_DN.UBBarracks_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBBarracks_EN Animation = UBBarracks_EN.UBBarracks_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBBarracks_S Animation = UBBarracks_S.UBBarracks_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBBarracks_DS Animation = UBBarracks_DS.UBBarracks_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBBarracks_ES Animation = UBBarracks_ES.UBBarracks_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBBarracks_NS Animation = UBBarracks_NS.UBBarracks_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBBarracks_DNS Animation = UBBarracks_DNS.UBBarracks_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBBarracks_ENS Animation = UBBarracks_ENS.UBBarracks_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke ParticleSysBone = Smoke06 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke ParticleSysBone = Smoke06 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke ParticleSysBone = Smoke06 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke ParticleSysBone = Smoke06 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:Barracks Side = GLAStealthGeneral EditorSorting = STRUCTURE Prerequisites Object = Slth_GLACommandCenter End BuildCost = 125 BuildTime = 5.0 ; in seconds EnergyProduction = 0 CommandSet = FakeGLABarracksCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 25 25 25 25 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = BarracksGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE Body = StructureBody ModuleTag_04 MaxHealth = 125.0 InitialHealth = 125.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 325 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = AIUpdateInterface ModuleTag_06 AutoAcquireEnemiesWhenIdle = No End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_10 ; nothing End Behavior = FlammableUpdate ModuleTag_11 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_12 ;-------------DESIGNED FOR SMALL MEDIUM FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = SlowDeathBehavior ModuleTag_13 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 0 Weapon = FINAL FakeStructureDetonationWeapon End Behavior = DestroyDie ModuleTag_SlowDeathException RequiredStatus = UNDER_CONSTRUCTION End Behavior = ReplaceObjectUpgrade ModuleTag_14 ReplaceObject = Slth_GLABarracks TriggeredBy = Upgrade_BecomeRealGLABarracks End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = StealthUpdate ModuleStealth_09 StealthDelay = 2500 ; msec StealthForbiddenConditions = ATTACKING USING_ABILITY TAKING_DAMAGE InnateStealth = No ;Requires upgrade first OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = StealthUpgrade ModuleTag_15 TriggeredBy = Upgrade_GLACamoNetting END Geometry = BOX GeometryMajorRadius = 42.0 GeometryMinorRadius = 52.0 GeometryHeight = 20.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure. ShadowSizeX = 120 ShadowSizeY = 110 BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Slth_GLAHoleBarracks Slth_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBBarracks_R ParticleSysBone = FLame01 FireSmallContinuous ParticleSysBone = Flame02 FireSmallContinuous ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End ConditionState = DAMAGED REALLYDAMAGED Model = UBBarracks_R ParticleSysBone = FLame01 FireSmallContinuous ParticleSysBone = Flame02 FireSmallContinuous ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End End End ;------------------------------------------------------------------------------ ;GLA Arms Dealer Object Slth_GLAArmsDealer UpgradeCameo1 = Upgrade_GLAFortifiedStructure UpgradeCameo2 = Upgrade_GLACamoNetting ; *** ART Parameters *** SelectPortrait = SUArmsDealer_L ButtonImage = SUArmsDealer UpgradeCameo1 = Upgrade_GLAFortifiedStructure ; ----------------- Main Building ------------------- Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBArmDeal Animation = UBArmDeal.UBArmDeal AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ;damaged ConditionState = DAMAGED Model = UBArmDeal_D Animation = UBArmDeal_D.UBArmDeal_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmolderingSmoke ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 SmolderingFire ; ParticleSysBone = Fire06 SmolderingFire End ;really damaged ConditionState = REALLYDAMAGED RUBBLE Model = UBArmDeal_E Animation = UBArmDeal_E.UBArmDeal_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Smoke07 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 FireFactionLarge ; ParticleSysBone = Fire06 SmolderingFire ; ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED Model = UBArmDlEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG.UBArmDlEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBArmDlEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_D.UBArmDlEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBArmDlEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_E.UBArmDlEG_E AnimationMode = LOOP End ; snow ConditionState = SNOW Model = UBArmDeal_S Animation = UBArmDeal_S.UBArmDeal_S AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ;damaged ConditionState = DAMAGED SNOW Model = UBArmDeal_DS Animation = UBArmDeal_DS.UBArmDeal_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmolderingSmoke ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 SmolderingFire ; ParticleSysBone = Fire06 SmolderingFire End ;really damaged ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBArmDeal_ES Animation = UBArmDeal_ES.UBArmDeal_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Smoke07 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 FireFactionLarge ; ParticleSysBone = Fire06 SmolderingFire ; ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED SNOW Model = UBArmDlEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_S.UBArmDlEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBArmDlEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DS.UBArmDlEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBArmDlEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_ES.UBArmDlEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBArmDeal_N Animation = UBArmDeal_N.UBArmDeal_N AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ConditionState = DAMAGED NIGHT Model = UBArmDeal_DN Animation = UBArmDeal_DN.UBArmDeal_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBArmDeal_EN Animation = UBArmDeal_EN.UBArmDeal_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED NIGHT Model = UBArmDlEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_N.UBArmDlEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBArmDlEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DN.UBArmDlEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBArmDlEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_EN.UBArmDlEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBArmDeal_NS Animation = UBArmDeal_NS.UBArmDeal_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ConditionState = DAMAGED NIGHT SNOW Model = UBArmDeal_DNS Animation = UBArmDeal_DNS.UBArmDeal_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBArmDeal_ENS Animation = UBArmDeal_ENS.UBArmDeal_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED NIGHT SNOW Model = UBArmDlEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_NS.UBArmDlEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBArmDlEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DNS.UBArmDlEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBArmDlEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_ENS.UBArmDlEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal Animation = UBArmDeal.UBArmDeal AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBArmDeal_D Animation = UBArmDeal_D.UBArmDeal_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBArmDeal_E Animation = UBArmDeal_E.UBArmDeal_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBArmDeal_N Animation = UBArmDeal_N.UBArmDeal_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBArmDeal_DN Animation = UBArmDeal_DN.UBArmDeal_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBArmDeal_EN Animation = UBArmDeal_EN.UBArmDeal_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBArmDeal_S Animation = UBArmDeal_S.UBArmDeal_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBArmDeal_DS Animation = UBArmDeal_DS.UBArmDeal_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBArmDeal_ES Animation = UBArmDeal_ES.UBArmDeal_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBArmDeal_NS Animation = UBArmDeal_NS.UBArmDeal_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBArmDeal_DNS Animation = UBArmDeal_DNS.UBArmDeal_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBArmDeal_ENS Animation = UBArmDeal_ENS.UBArmDeal_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4S Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4SN Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBArmDeal_A4S ; @todo srj -- anim missing Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBArmDeal_A4SN ; @todo srj -- anim missing Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBArmDeal_A4S ; @todo srj -- anim missing Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBArmDeal_A4SN Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ----------------- the door ----------------------- Draw = W3DModelDraw ModuleTag_04 DefaultConditionState Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = SNOW NIGHT DOOR_1_OPENING ConditionState = DOOR_1_OPENING DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_CLOSING Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = SNOW NIGHT DOOR_1_CLOSING ConditionState = DOOR_1_CLOSING DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_OPEN Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN DAMAGED ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBArmDeal_A7D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBArmDeal_A7E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:ArmsDealer Side = GLAStealthGeneral EditorSorting = STRUCTURE Prerequisites Object = Slth_GLASupplyStash End BuildCost = 2500 BuildTime = 15.0 ; in seconds EnergyProduction = 0 CommandSet = Slth_GLAArmsDealerCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = WarFactoryGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE REPAIR_PAD CAPTURABLE FS_TECHNOLOGY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE FS_FACTORY FS_WARFACTORY Body = StructureBody ModuleTag_05 MaxHealth = 2000.0 InitialHealth = 2000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = RebuildHoleExposeDie ModuleTag_06 HoleName = GLAHoleArmsDealer HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureMediumDeath End Behavior = ProductionUpdate ModuleTag_10 NumDoorAnimations = 1 DoorOpeningTime = 2000 ;in mSeconds DoorWaitOpenTime = 3000 ;in mSeconds DoorCloseTime = 2000 ;in mSeconds ConstructionCompleteDuration = 1500 ;in mSeconds End Behavior = DefaultProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: -20.0 Y:-15.0 Z:0.0 NaturalRallyPoint = X: 40.0 Y:-15.0 Z:0.0 ;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RepairDockUpdate ModuleTag_12 TimeForFullHeal = 5000 ;(in milliseconds) NumberApproachPositions = 5 End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_31 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = StealthUpdate ModuleStealth_09 StealthDelay = 2500 ; msec StealthForbiddenConditions = ATTACKING USING_ABILITY TAKING_DAMAGE InnateStealth = No ;Requires upgrade first OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = StealthUpgrade ModuleTag_32 TriggeredBy = Upgrade_GLACamoNetting END Geometry = BOX GeometryMajorRadius = 40.0 GeometryMinorRadius = 62.0 GeometryHeight = 25.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Slth_GLAHoleArmsDealer Slth_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBArmDeal_R ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ConditionState = DAMAGED REALLYDAMAGED Model = UBArmDeal_R ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End End End ;------------------------------------------------------------------------------ ;GLA Arms Dealer Object Slth_FakeGLAArmsDealer UpgradeCameo1 = Upgrade_GLACamoNetting ; *** ART Parameters *** SelectPortrait = SUArmsDealer_L ButtonImage = SUArmsDealer UpgradeCameo1 = Upgrade_GLAFortifiedStructure ; ----------------- Main Building ------------------- Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBArmDeal Animation = UBArmDeal.UBArmDeal AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ;damaged ConditionState = DAMAGED Model = UBArmDeal_D Animation = UBArmDeal_D.UBArmDeal_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmolderingSmoke ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 SmolderingFire ; ParticleSysBone = Fire06 SmolderingFire End ;really damaged ConditionState = REALLYDAMAGED RUBBLE Model = UBArmDeal_E Animation = UBArmDeal_E.UBArmDeal_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Smoke07 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 FireFactionLarge ; ParticleSysBone = Fire06 SmolderingFire ; ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED Model = UBArmDlEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG.UBArmDlEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBArmDlEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_D.UBArmDlEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBArmDlEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_E.UBArmDlEG_E AnimationMode = LOOP End ; snow ConditionState = SNOW Model = UBArmDeal_S Animation = UBArmDeal_S.UBArmDeal_S AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ;damaged ConditionState = DAMAGED SNOW Model = UBArmDeal_DS Animation = UBArmDeal_DS.UBArmDeal_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmolderingSmoke ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 SmolderingFire ; ParticleSysBone = Fire06 SmolderingFire End ;really damaged ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBArmDeal_ES Animation = UBArmDeal_ES.UBArmDeal_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Smoke07 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 FireFactionLarge ; ParticleSysBone = Fire06 SmolderingFire ; ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED SNOW Model = UBArmDlEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_S.UBArmDlEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBArmDlEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DS.UBArmDlEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBArmDlEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_ES.UBArmDlEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBArmDeal_N Animation = UBArmDeal_N.UBArmDeal_N AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ConditionState = DAMAGED NIGHT Model = UBArmDeal_DN Animation = UBArmDeal_DN.UBArmDeal_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBArmDeal_EN Animation = UBArmDeal_EN.UBArmDeal_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED NIGHT Model = UBArmDlEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_N.UBArmDlEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBArmDlEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DN.UBArmDlEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBArmDlEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_EN.UBArmDlEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBArmDeal_NS Animation = UBArmDeal_NS.UBArmDeal_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ConditionState = DAMAGED NIGHT SNOW Model = UBArmDeal_DNS Animation = UBArmDeal_DNS.UBArmDeal_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBArmDeal_ENS Animation = UBArmDeal_ENS.UBArmDeal_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED NIGHT SNOW Model = UBArmDlEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_NS.UBArmDlEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBArmDlEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DNS.UBArmDlEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBArmDlEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_ENS.UBArmDlEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal Animation = UBArmDeal.UBArmDeal AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBArmDeal_D Animation = UBArmDeal_D.UBArmDeal_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBArmDeal_E Animation = UBArmDeal_E.UBArmDeal_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBArmDeal_N Animation = UBArmDeal_N.UBArmDeal_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBArmDeal_DN Animation = UBArmDeal_DN.UBArmDeal_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBArmDeal_EN Animation = UBArmDeal_EN.UBArmDeal_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBArmDeal_S Animation = UBArmDeal_S.UBArmDeal_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBArmDeal_DS Animation = UBArmDeal_DS.UBArmDeal_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBArmDeal_ES Animation = UBArmDeal_ES.UBArmDeal_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBArmDeal_NS Animation = UBArmDeal_NS.UBArmDeal_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBArmDeal_DNS Animation = UBArmDeal_DNS.UBArmDeal_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBArmDeal_ENS Animation = UBArmDeal_ENS.UBArmDeal_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4S Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4SN Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBArmDeal_A4S ; @todo srj -- anim missing Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBArmDeal_A4SN ; @todo srj -- anim missing Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBArmDeal_A4S ; @todo srj -- anim missing Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBArmDeal_A4SN Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ----------------- the door ----------------------- Draw = W3DModelDraw ModuleTag_04 DefaultConditionState Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = SNOW NIGHT DOOR_1_OPENING ConditionState = DOOR_1_OPENING DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_CLOSING Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = SNOW NIGHT DOOR_1_CLOSING ConditionState = DOOR_1_CLOSING DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_OPEN Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN DAMAGED ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBArmDeal_A7D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBArmDeal_A7E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:ArmsDealer Side = GLAStealthGeneral EditorSorting = STRUCTURE Prerequisites Object = Slth_GLASupplyStash End BuildCost = 625 BuildTime = 10.0 ; in seconds EnergyProduction = 0 CommandSet = FakeGLAArmsDealerCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 50 50 50 50 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = WarFactoryGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE Body = StructureBody ModuleTag_05 MaxHealth = 500.0 InitialHealth = 500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 700 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureMediumDeath End Behavior = AIUpdateInterface ModuleTag_10 AutoAcquireEnemiesWhenIdle = No End Behavior = ProductionUpdate ModuleTag_11 ; nothing End Behavior = SlowDeathBehavior ModuleTag_12 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 0 Weapon = FINAL FakeStructureDetonationWeapon End Behavior = DestroyDie ModuleTag_SlowDeathException RequiredStatus = UNDER_CONSTRUCTION End Behavior = ReplaceObjectUpgrade ModuleTag_13 ReplaceObject = Slth_GLAArmsDealer TriggeredBy = Upgrade_BecomeRealGLAArmsDealer End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_31 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = StealthUpdate ModuleStealth_09 StealthDelay = 2500 ; msec StealthForbiddenConditions = ATTACKING USING_ABILITY TAKING_DAMAGE InnateStealth = No ;Requires upgrade first OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = StealthUpgrade ModuleTag_32 TriggeredBy = Upgrade_GLACamoNetting END Geometry = BOX GeometryMajorRadius = 40.0 GeometryMinorRadius = 62.0 GeometryHeight = 25.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure. ShadowSizeX = 127 ShadowSizeY = 144 BuildCompletion = PLACED_BY_PLAYER End ; ----------------------------------------------------------------------------- Object Slth_GLASneakAttackTunnelNetworkStart ; *** ART Parameters *** SelectPortrait = SUTunnel_L ButtonImage = SUTunnel Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;***NONE ConditionState = NONE Model = UBSNKATK_1ANM Animation = UBSNKATK_1ANM.UBSNKATK_1ANM AnimationMode = ONCE ParticleSysBone = DIRT SneakAttackCrackDust ;;;ParticleSysBone = DIRT SneakAttackDirt ; steveM commented out 8.4.03 ParticleSysBone = DIRT SneakAttackCrackDust1 ParticleSysBone = DIRT SneakAttackDebris ParticleSysBone = DIRT SneakAttackDebris0 ParticleSysBone = DIRT SneakAttackDebris1 ParticleSysBone = DIRT SneakAttackCrackDust0 ParticleSysBone = DIRT SneakAttackSteamVent End ; ConditionState ; Model = UBSNKATK_1ANM ; Animation = UBSNKATK_1ANM.UBSNKATK_1ANM ; AnimationMode = ONCE ; End ConditionState = DAMAGED Model = UBSNATK_E ParticleSysBone = DIRT SneakAttackCrackDust ParticleSysBone = DIRT SneakAttackDirt ParticleSysBone = DIRT SneakAttackCrackDust1 ParticleSysBone = DIRT SneakAttackDebris ParticleSysBone = DIRT SneakAttackDebris0 ParticleSysBone = DIRT SneakAttackDebris1 ParticleSysBone = DIRT SneakAttackCrackDust0 ParticleSysBone = DIRT SneakAttackSteamVent End ConditionState = REALLYDAMAGED RUBBLE Model = UBSNATK_R End ConditionState = SNOW Model = UBSNATK_Sanm Animation = UBSNATK_Sanm.UBSNATK_Sanm AnimationMode = ONCE ParticleSysBone = DIRT SneakAttackCrackDustSnow ParticleSysBone = DIRT SneakAttackDirtSnow ParticleSysBone = DIRT SneakAttackCrackDust1Snow ParticleSysBone = DIRT SneakAttackDebrisSnow ParticleSysBone = DIRT SneakAttackDebris0Snow ParticleSysBone = DIRT SneakAttackDebris1Snow ParticleSysBone = DIRT SneakAttackCrackDust0Snow ParticleSysBone = DIRT SneakAttackSteamVent End ConditionState = DAMAGED SNOW Model = UBSNATK_ES ParticleSysBone = DIRT SneakAttackCrackDustSnow ParticleSysBone = DIRT SneakAttackDirtSnow ParticleSysBone = DIRT SneakAttackCrackDust1Snow ParticleSysBone = DIRT SneakAttackDebrisSnow ParticleSysBone = DIRT SneakAttackDebris0Snow ParticleSysBone = DIRT SneakAttackDebris1Snow ParticleSysBone = DIRT SneakAttackCrackDust0Snow ParticleSysBone = DIRT SneakAttackSteamVent End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBSNATK_RS ParticleSysBone = DIRT SneakAttackCrackDustSnow ParticleSysBone = DIRT SneakAttackDirtSnow ParticleSysBone = DIRT SneakAttackCrackDust1Snow ParticleSysBone = DIRT SneakAttackDebrisSnow ParticleSysBone = DIRT SneakAttackDebris0Snow ParticleSysBone = DIRT SneakAttackDebris1Snow ParticleSysBone = DIRT SneakAttackCrackDust0Snow ParticleSysBone = DIRT SneakAttackSteamVent End ConditionState = NIGHT Model = UBSNKATK_1ANM Animation = UBSNKATK_1ANM.UBSNKATK_1ANM AnimationMode = ONCE End ConditionState = DAMAGED NIGHT Model = UBSNATK_E End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBSNATK_R End ConditionState = SNOW NIGHT Model = UBSNATK_Sanm Animation = UBSNATK_Sanm.UBSNATK_Sanm AnimationMode = ONCE End ConditionState = DAMAGED SNOW NIGHT Model = UBSNATK_ES End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = UBSNATK_RS End End PlacementViewAngle = -44 ; ***DESIGN parameters *** DisplayName = OBJECT:TunnelNetwork Side = GLAStealthGeneral EditorSorting = STRUCTURE Prerequisites ;None End EnergyProduction = 0 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = DamageFX_Empty End ExperienceValue = 100 100 100 100 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = TunnelNetworkSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy SoundEnter = GarrisonEnter SoundExit = GarrisonExit ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE IMMOBILE IMMUNE_TO_CAPTURE Body = ActiveBody ModuleTag_04 MaxHealth = 99999.0 InitialHealth = 99999.0 End Behavior = DestroyDie ModuleTag_10 ;nothing End Behavior = CreateObjectDie ModuleTag_11 CreationList = OCL_CreateSneakAttackTunnel End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = LifetimeUpdate ModuleTag_16 MinLifetime = 5000 ; min lifetime in msec MaxLifetime = 5000 ; max lifetime in msec End Behavior = FireWeaponUpdate ModuleTag_17 Weapon = SneakAttackShockwaveWeaponSmall InitialDelay = 10; End Behavior = FireWeaponUpdate ModuleTag_18 Weapon = SneakAttackShockwaveWeaponBig InitialDelay = 1000; End Behavior = FireWeaponUpdate ModuleTag_19 Weapon = SneakAttackShockwaveWeaponBig InitialDelay = 2500; End ; IMPORTANT: DO NOT GIVE THIS OBJECT ANY EXTENTS -ML Geometry = CYLINDER GeometryMajorRadius = 25.0 GeometryHeight = 20.0 GeometryIsSmall = No FactoryExtraBibWidth = 25.0 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ; ----------------------------------------------------------------------------- Object Slth_GLASneakAttackTunnelNetwork ; *** ART Parameters *** SelectPortrait = SUSneakAttack_L ButtonImage = SUSneakAttack Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;***DEFAULT ;DefaultConditionState ConditionState Model = UBSNATK_1 End ConditionState = DAMAGED Model = UBSNATK_E End ConditionState = REALLYDAMAGED RUBBLE Model = UBSNATK_R ;ParticleSysBone = Mound SteamVent End ConditionState = SNOW Model = UBSNATK_S End ConditionState = DAMAGED SNOW Model = UBSNATK_ES End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBSNATK_RS ;ParticleSysBone = Mound SteamVent End ConditionState = NIGHT Model = UBSNATK_N End ConditionState = DAMAGED NIGHT Model = UBSNATK_E End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBSNATK_R ;ParticleSysBone = Mound SteamVent End ConditionState = SNOW NIGHT Model = UBSNATK_NS End ConditionState = DAMAGED SNOW NIGHT Model = UBSNATK_ES End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = UBSNATK_RS ;ParticleSysBone = Mound SteamVent End End PlacementViewAngle = -44 ; ***DESIGN parameters *** DisplayName = OBJECT:TunnelNetwork Side = GLAStealthGeneral EditorSorting = STRUCTURE Prerequisites ;None End EnergyProduction = 0 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY TunnelNetworkGunDUMMY ;So AI can attack from it in guard mode. End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End CommandSet = GLASneakAttackTunnelCommandSet ExperienceValue = 100 100 100 100 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = TunnelNetworkSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy SoundEnter = GarrisonEnter SoundExit = GarrisonExit ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_BASE_DEFENSE IMMUNE_TO_CAPTURE SCORE_CREATE AUTO_RALLYPOINT Body = StructureBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = StealthDetectorUpdate ModuleTag_13 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 150 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = TunnelContain ModuleTag_05 TimeForFullHeal = 5000 ;(in milliseconds) End Behavior = AIUpdateInterface ModuleTag_AI Turret TurretTurnRate = 180 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes Stealthed; defensive weapon End ;Kris: Removed this module because units exiting the container would extract information from ;the wrong exit interface. Because TunnelContain has the proper information for exiting properly ;we don't need this one. Plus sneak attack tunnels don't produce units anyway. ;Behavior = DefaultProductionExitUpdate ModuleTag_06 ; UnitCreatePoint = X: 5.0 Y: 0.0 Z:0.0 ; NaturalRallyPoint = X: 35.0 Y: 0.0 Z:0.0 ;End Behavior = DestroyDie ModuleTag_10 ;nothing End Behavior = CreateObjectDie ModuleTag_11 CreationList = OCL_ABTunnelNetworkDebris End Behavior = FXListDie ModuleTag_12 DeathFX = FX_StructureSmallDeath End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_17 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = CYLINDER GeometryMajorRadius = 25.0 GeometryHeight = 20.0 GeometryIsSmall = No FactoryExtraBibWidth = 25.0 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Slth_GLAInfantryRebel ; *** ART Parameters *** SelectPortrait = SURebel_L ButtonImage = SURebel UpgradeCameo1 = Upgrade_GLAAPBullets ;UpgradeCameo2 = Upgrade_GLACamouflage UpgradeCameo3 = Upgrade_InfantryCaptureBuilding ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; this says "we don't use these condition states at all, so completely ; ignore them for purposes of matchmaking"... this is useful to help ; reduce the number of AliasConditionState clauses you must add in ; order to avoid ambiguity in some cases. IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A ; ---- standing DefaultConditionState Model = UIRGrd_SKN IdleAnimation = UIRGrd_SKL.UIRGrd_STN 0 35 IdleAnimation = UIRGrd_SKL.UIRGrd_IDA IdleAnimation = UIRGrd_SKL.UIRGrd_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX TransitionKey = TRANS_Standing End ConditionState = REALLYDAMAGED IdleAnimation = UIRGrd_SKL.UIRGrd_STB 0 35 IdleAnimation = UIRGrd_SKL.UIRGrd_IDC IdleAnimation = UIRGrd_SKL.UIRGrd_IDD AnimationMode = ONCE TransitionKey = TRANS_StandingHurt End ; ---- moving ConditionState = MOVING Animation = UIRGrd_SKL.UIRGrd_RNA 15 AnimationMode = LOOP TransitionKey = TRANS_Walking ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING ConditionState = MOVING REALLYDAMAGED Animation = UIRGrd_SKL.UIRGrd_RNB 25 AnimationMode = LOOP TransitionKey = TRANS_WalkingHurt ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING REALLYDAMAGED ; ---- dying ConditionState = DYING Animation = UIRGrd_SKL.UIRGrd_DTA Animation = UIRGrd_SKL.UIRGrd_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIRGrd_SKL.UIRGrd_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIRGrd_SKL.UIRGrd_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIRGrd_SKL.UIRGrd_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = UIRGrd_SKL.UIRGrd_IDB End ; ---- firing ConditionState = USING_WEAPON_A Animation = UIRGrd_SKL.UIRGrd_ATA AnimationMode = LOOP TransitionKey = TRANS_Firing End ConditionState = USING_WEAPON_A REALLYDAMAGED Animation = UIRGrd_SKL.UIRGrd_ATA2 AnimationMode = LOOP TransitionKey = TRANS_FiringHurt End TransitionState = TRANS_Standing TRANS_Firing Animation = UIRGrd_SKL.UIRGrd_ATAST AnimationMode = ONCE End TransitionState = TRANS_Firing TRANS_Standing Animation = UIRGrd_SKL.UIRGrd_ATAED AnimationMode = ONCE End TransitionState = TRANS_StandingHurt TRANS_FiringHurt Animation = UIRGrd_SKL.UIRGrd_ATA2ED AnimationMode = ONCE_BACKWARDS End TransitionState = TRANS_FiringHurt TRANS_StandingHurt Animation = UIRGrd_SKL.UIRGrd_ATA2ED AnimationMode = ONCE End TransitionState = TRANS_Standing TRANS_StandingHurt Animation = UIRGrd_SKL.UIRGrd_ATA2ED AnimationMode = ONCE End ; ------- Bldg-capture ConditionState = UNPACKING Model = UIRGrd_F_SKN Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1 AnimationMode = ONCE End AliasConditionState = UNPACKING REALLYDAMAGED ConditionState = RAISING_FLAG Model = UIRGrd_F_SKN Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2 AnimationMode = ONCE TransitionKey = TRANS_Raising End AliasConditionState = RAISING_FLAG REALLYDAMAGED ConditionState = PACKING Model = UIRGrd_F_SKN Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST TransitionKey = TRANS_Packing End AliasConditionState = PACKING REALLYDAMAGED TransitionState = TRANS_Raising TRANS_Packing Model = UIRGrd_F_SKN Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:Rebel Side = GLAStealthGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GLARebelMachineGun End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Slth_GLABarracks End BuildCost = 200 BuildTime = 5.0 ;in seconds ExperienceValue = 15 15 30 40 ;Experience point value at each level ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Slth_GLAInfantryRebelCommandSet ; *** AUDIO Parameters *** VoiceSelect = RebelVoiceSelect VoiceMove = RebelVoiceMove VoiceGuard = RebelVoiceMove VoiceAttack = RebelVoiceAttack SoundStealthOn = StealthOn SoundStealthOff = StealthOff VoiceFear = RebelVoiceFear VoiceTaskComplete = RebelVoiceCaptureComplete UnitSpecificSounds VoiceCreate = RebelVoiceCreate VoiceSubdue = RebelVoiceSubdue VoiceGarrison = RebelVoiceGarrison VoiceEnter = RebelVoiceMove VoiceEnterHostile = RebelVoiceMove VoiceGetHealed = RebelVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. End Locomotor = SET_NORMAL BasicHumanLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 5.0 End Behavior = StealthUpdate ModuleTag_07 StealthDelay = 2500 ; msec StealthForbiddenConditions = ATTACKING USING_ABILITY TAKING_DAMAGE MoveThresholdSpeed = 3 InnateStealth = Yes ;doesnt Require upgrade first OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = WeaponBonusUpgrade ModuleTag_09 TriggeredBy = Upgrade_GLAAPBullets End Behavior = GrantUpgradeCreate ModuleTag_10 UpgradeToGrant = Upgrade_GLACamouflage End Behavior = SquishCollide ModuleTag_11 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RebelDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RebelDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_16 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SpecialAbility ModuleTag_17 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding UpdateModuleStartsAttack = Yes StartsPaused = Yes InitiateSound = RebelVoiceCapture End Behavior = SpecialAbilityUpdate ModuleTag_18 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding StartAbilityRange = 5.0 UnpackTime = 3000 ; (changing this will scale anim speed) PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) PackTime = 2000 ; (changing this will scale anim speed) DoCaptureFX = Yes AwardXPForTriggering = 12 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_19 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding TriggeredBy = Upgrade_InfantryCaptureBuilding End Behavior = SpecialAbility ModuleTag_20 SpecialPowerTemplate = SpecialAbilityBoobyTrap UpdateModuleStartsAttack = Yes StartsPaused = Yes ; InitiateSound = TankHunterVoiceTNT End Behavior = SpecialAbilityUpdate ModuleTag_21 SpecialPowerTemplate = SpecialAbilityBoobyTrap StartAbilityRange = 5.0 PreparationTime = 0 SpecialObject = BoobyTrap MaxSpecialObjects = 100 SpecialObjectsPersistWhenOwnerDies = Yes SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. ; Not implemented UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_22 SpecialPowerTemplate = SpecialAbilityBoobyTrap TriggeredBy = Upgrade_GLAInfantryRebelBoobyTrapAttack End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;---------------------------------------------------------------------------- Object Slth_GLAInfantryJarmenKell ; *** ART Parameters *** SelectPortrait = SUJermanKell1_L ;NOTE: Asset spelling mistake ButtonImage = SUJermanKell1 UpgradeCameo1 = Upgrade_GLAAPBullets ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; --- idle DefaultConditionState Model = UIHERO_SKN IdleAnimation = UIHERO_SKL.UIHERO_STA 0 21 IdleAnimation = UIHERO_SKL.UIHERO_IDA IdleAnimation = UIHERO_SKL.UIHERO_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX TransitionKey = TRANS_Stand End ConditionState = REALLYDAMAGED IdleAnimation = UIHERO_SKL.UIHERO_ISTA 0 30 IdleAnimation = UIHERO_SKL.UIHERO_IIDA IdleAnimation = UIHERO_SKL.UIHERO_IIDB AnimationMode = ONCE TransitionKey = TRANS_StandInjured End TransitionState = TRANS_Stand TRANS_StandInjured Animation = UIHERO_SKL.UIHERO_ISTAHIT AnimationMode = ONCE End ; --- attack ConditionState = FIRING_A Animation = UIHERO_SKL.UIHERO_ATA AnimationMode = ONCE TransitionKey = TRANS_FiringA AnimationSpeedFactorRange = 1.5 1.5 End ConditionState = BETWEEN_FIRING_SHOTS_A Animation = UIHERO_SKL.UIHERO_STA AnimationMode = ONCE WaitForStateToFinishIfPossible = TRANS_FiringA End AliasConditionState = RELOADING_A ConditionState = FIRING_A REALLYDAMAGED Animation = UIHERO_SKL.UIHERO_IATA2 AnimationMode = ONCE TransitionKey = TRANS_FiringAInjured AnimationSpeedFactorRange = 1.5 1.5 End ConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED Animation = UIHERO_SKL.UIHERO_IATA2 AnimationMode = MANUAL Flags = START_FRAME_LAST WaitForStateToFinishIfPossible = TRANS_FiringAInjured End AliasConditionState = RELOADING_A REALLYDAMAGED TransitionState = TRANS_FiringA TRANS_FiringAInjured Animation = UIHERO_SKL.UIHERO_IATAHIT AnimationMode = ONCE End ; --- moving ConditionState = MOVING Animation = UIHERO_SKL.UIHERO_RNA2 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING DOCKING AliasConditionState = MOVING DOCKING_BEGINNING AliasConditionState = MOVING DOCKING_ACTIVE ConditionState = MOVING REALLYDAMAGED Animation = UIHERO_SKL.UIHERO_IRNA 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING FIRING_A REALLYDAMAGED AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED AliasConditionState = MOVING RELOADING_A REALLYDAMAGED ; --- cheering ConditionState = SPECIAL_CHEERING Animation = UIHERO_SKL.UIHERO_CHA AnimationMode = LOOP End ConditionState = SPECIAL_CHEERING REALLYDAMAGED Animation = UIHERO_SKL.UIHERO_ICHA AnimationMode = LOOP End ; --- dying ConditionState = DYING Animation = UIHERO_SKL.UIHERO_DTA Animation = UIHERO_SKL.UIHERO_DTB Animation = UIHERO_SKL.UIHERO_IDTA Animation = UIHERO_SKL.UIHERO_IDTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIHERO_SKL.UIHERO_ADTG21 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIHERO_SKL.UIHERO_ADTG22 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIHERO_SKL.UIHERO_ADTG23 AnimationMode = ONCE TransitionKey = None End ; --- falling ConditionState = FREEFALL Animation = UIHERO_SKL.UIHERO_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = UIHERO_SKL.UIHERO_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = UIHERO_SKL.UIHERO_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = UIHERO_SKL.UIHERO_PTD AnimationMode = ONCE End TransitionState = TRANS_Chute TRANS_StandInjured Animation = UIHERO_SKL.UIHERO_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:JarmenKell Side = GLAStealthGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) MaxSimultaneousOfType = 1 WeaponSet Conditions = None Weapon = PRIMARY GLAJarmenKellRifle Weapon = SECONDARY GLAJarmenKellVehiclePilotSniperRifle AutoChooseSources = SECONDARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 200 ShroudClearingRange = 400 Prerequisites Object = Slth_GLABarracks Object = Slth_GLAPalace End BuildCost = 1500 BuildTime = 20.0 ;in seconds ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Slth_GLAInfantryJarmenKellCommandSet ; *** AUDIO Parameters *** VoiceSelect = JarmenKellVoiceSelect VoiceMove = JarmenKellVoiceMove VoiceGuard = JarmenKellVoiceMove VoiceAttack = JarmenKellVoiceAttack VoiceFear = JarmenKellVoiceFear SoundStealthOn = StealthOn SoundStealthOff = StealthOff UnitSpecificSounds VoiceCreate = JarmenKellVoiceCreate VoiceSnipePilot = JarmenKellVoiceSnipe VoiceGarrison = JarmenKellVoiceGarrison VoiceEnter = JarmenKellVoiceMove VoiceEnterHostile = JarmenKellVoiceMove VoiceGetHealed = JarmenKellVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER STEALTH_GARRISON SCORE HERO CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 200.0 InitialHealth = 200.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL JarmenKellLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End ; Behavior = StealthDetectorUpdate ModuleTag_StealthDetect ; DetectionRate = 750 ;How often to rescan for stealthed things in my sight (msec) ; DetectionRange = 150 ;Enable this for independant balancing! ; CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. ; CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. ; End Behavior = StealthUpdate ModuleTag_06 StealthDelay = 2000 ; msec StealthForbiddenConditions = ATTACKING InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes EnemyDetectionEvaEvent = EnemyJarmenKellDetected OwnDetectionEvaEvent = OwnJarmenKellDetected End Behavior = CommandButtonHuntUpdate ModuleTag_07 ; allows use of command button hunt script with this unit. End Behavior = WeaponBonusUpgrade ModuleTag_08 TriggeredBy = Upgrade_GLAAPBullets End ;Hero units can't be squished! ;Behavior = SquishCollide ModuleTag_09 ; ;nothing ;End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_JarmenKellDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_JarmenKellDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_14 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;Tunnel Fanatic ;Now called the RPG Trooper Object Slth_GLAInfantryTunnelDefender ; *** ART Parameters *** SelectPortrait = SURPG_L ButtonImage = SURPG UpgradeCameo1 = Upgrade_GLAAPRockets ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UITunF_SKN IdleAnimation = UITunF_SKL.UITunF_STA 0 20 IdleAnimation = UITunF_SKL.UITunF_IDA IdleAnimation = UITunF_SKL.UITunF_IDB IdleAnimation = UITunF_SKL.UITunF_IDC AnimationMode = ONCE WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = PRIMARY Muzzle WeaponLaunchBone = PRIMARY Muzzle End ConditionState = MOVING Animation = UITunF_SKL.UITunF_WKA 16 Animation = UITunF_SKL.UITunF_WKB 30 Animation = UITunF_SKL.UITunF_WKC 30 Animation = UITunF_SKL.UITunF_RNA 15 Animation = UITunF_SKL.UITunF_RNB 25 AnimationMode = LOOP ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = UITunF_SKL.UITunF_DTA Animation = UITunF_SKL.UITunF_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UITunF_SKL.UITunF_ADTA1 Animation = UITunF_SKL.UITunF_ADTE1 Animation = UITunF_SKL.UITunF_ADTF1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UITunF_SKL.UITunF_ADTA2 Animation = UITunF_SKL.UITunF_ADTE2 Animation = UITunF_SKL.UITunF_ADTF2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UITunF_SKL.UITunF_ADTA3 Animation = UITunF_SKL.UITunF_ADTE3 Animation = UITunF_SKL.UITunF_ADTF3 AnimationMode = ONCE TransitionKey = None End ConditionState = FIRING_A Animation = UITunF_SKL.UITunF_ATA AnimationMode = ONCE TransitionKey = TRANS_START_FIRING End ConditionState = BETWEEN_FIRING_SHOTS_A Animation = UITunF_SKL.UITunF_STA AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_START_FIRING End AliasConditionState = RELOADING_A ConditionState = SPECIAL_CHEERING Animation = UITUNF_SKL.UITUNF_CHA AnimationMode = LOOP End End ; ***DESIGN parameters *** DisplayName = OBJECT:TunnelDefender Side = GLAStealthGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY TunnelDefenderRocketWeapon End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 400 ; Prerequisites ; Object = Slth_GLATunnelNetwork ; End BuildCost = 300 BuildTime = 5.0 ;in seconds ExperienceValue = 20 20 40 60 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Slth_GLAInfantryTunnelDefenderCommandSet ; *** AUDIO Parameters *** VoiceSelect = RPGTrooperVoiceSelect VoiceMove = RPGTrooperVoiceMove VoiceGuard = RPGTrooperVoiceMove VoiceAttack = RPGTrooperVoiceAttack VoiceFear = RPGTrooperVoiceFear UnitSpecificSounds VoiceCreate = RPGTrooperVoiceCreate VoiceGarrison = RPGTrooperVoiceGarrison VoiceEnter = RPGTrooperVoiceMove VoiceEnterHostile = RPGTrooperVoiceMove VoiceGetHealed = RPGTrooperVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL MissileDefenderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = SquishCollide ModuleTag_06 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RPGTrooperDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RPGTrooperDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_12 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;***THESE UNITS ARE NOT SELECTABLE ANYMORE! To kill them, you must target ; the stinger site. If the weapon does particular types of damage, it'll ; kill guys inside first, then the site. Object Slth_GLAInfantryStingerSoldier ; *** ART Parameters *** SelectPortrait = SUStinger_L ButtonImage = SUStinger Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UISmsd_SKN IdleAnimation = UISmsd_SKL.UISmsd_STA 0 45 IdleAnimation = UISmsd_SKL.UISmsd_IDA IdleAnimation = UISmsd_SKL.UISmsd_IDB IdleAnimation = UISmsd_SKL.UISmsd_IDC IdleAnimation = UISmsd_SKL.UISmsd_IDD AnimationMode = ONCE WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = PRIMARY Exhaust WeaponLaunchBone = PRIMARY Muzzle WeaponFireFXBone = SECONDARY Exhaust WeaponLaunchBone = SECONDARY Muzzle WaitForStateToFinishIfPossible = TRANS_START_FIRING End AliasConditionState = BETWEEN_FIRING_SHOTS_A AliasConditionState = BETWEEN_FIRING_SHOTS_B AliasConditionState = RELOADING_A AliasConditionState = RELOADING_B ConditionState = MOVING Animation = UISmsd_SKL.UISmsd_WKB 25 AnimationMode = LOOP End ConditionState = DYING Animation = UISmsd_SKL.UISmsd_DTA Animation = UISmsd_SKL.UISmsd_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish End TransitionState = TRANS_Dying TRANS_Flailing Animation = UISmsd_SKL.UISmsd_ADTF1 Animation = UISmsd_SKL.UISmsd_ADTG21 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UISmsd_SKL.UISmsd_ADTF2 Animation = UISmsd_SKL.UISmsd_ADTG22 AnimationMode = LOOP TransitionKey = TRANS_Flailing WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish End ConditionState = DYING EXPLODED_BOUNCING Animation = UISmsd_SKL.UISmsd_ADTF3 Animation = UISmsd_SKL.UISmsd_ADTG23 AnimationMode = ONCE TransitionKey = None WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish End ConditionState = FIRING_A Animation = UISmsd_SKL.UISmsd_ATA AnimationMode = ONCE TransitionKey = TRANS_START_FIRING End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING RELOADING_A ConditionState = FIRING_B Animation = UISmsd_SKL.UISmsd_ATB AnimationMode = ONCE TransitionKey = TRANS_START_FIRINGB End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = MOVING FIRING_B AliasConditionState = MOVING RELOADING_B ConditionState = SPECIAL_CHEERING Animation = UISMSD_SKL.UISMSD_CHA AnimationMode = LOOP End End ; ***DESIGN parameters *** DisplayName = OBJECT:StingerSoldier Side = GLAStealthGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY StingerMissileWeapon AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT Weapon = SECONDARY StingerMissileWeaponAir PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT End ArmorSet Conditions = None Armor = StingerSoldierArmor ;Extra protection due to being enclosed by the stinger site. DamageFX = None End VisionRange = 400.0 ShroudClearingRange = 400 Prerequisites Object = Slth_GLABarracks End BuildCost = 100 BuildTime = 1.0 ;in seconds CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; CommandSet = Slth_GLAInfantryRebelCommandSet ; *** AUDIO Parameters *** VoiceSelect = StingerSoldierVoiceSelect VoiceMove = StingerSoldierVoiceMove VoiceAttack = StingerSoldierVoiceAttack ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER CLICK_THROUGH SPAWNS_ARE_THE_WEAPONS Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = StealthDetectorUpdate ModuleTag_16 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 200 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes Stealthed ATTACK_BUILDINGS MoodAttackCheckRate = 250 End Locomotor = SET_NORMAL BasicHumanLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = SlavedUpdate ModuleTag_06 ;nothing End ; Behavior = ProneUpdate ModuleTag_07 ; DamageToFramesRatio = 5.0 ; I take 20 damage, I go prone for 100. For this guy, if any of my buds or my building take damage too (I have SlaveUpdate + ProneUpdate) Prone may get cut by itself though ; End Behavior = SquishCollide ModuleTag_08 ;nothing End Behavior = StealthUpdate ModuleTag_09 StealthDelay = 2500 ; msec StealthForbiddenConditions = ATTACKING USING_ABILITY TAKING_DAMAGE MoveThresholdSpeed = 3 InnateStealth = Yes ;Requires upgrade first OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = GrantUpgradeCreate ModuleUpgrade_18 UpgradeToGrant = Upgrade_GLACamoNetting End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_StingerSoldierDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_StingerSoldierDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_14 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14 ShadowSizeY = 14 ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Slth_GLAInfantryTerrorist ; *** ART Parameters *** SelectPortrait = SUTerrorist_L ButtonImage = SUTerrorist ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UITRST_SKN IdleAnimation = UITRST_SKL.UITRST_STA 0 25 ;Regular spice animations IdleAnimation = UITRST_SKL.UITRST_IDA IdleAnimation = UITRST_SKL.UITRST_IDB AnimationMode = ONCE TransitionKey = TRANS_Stand End ConditionState = REALLYDAMAGED Animation = UITRST_SKL.UITRST_STA AnimationMode = LOOP TransitionKey = TRANS_Stand End ConditionState = FREEFALL Animation = UITRST_SKL.UITRST_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = UITRST_SKL.UITRST_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING ConditionState = MOVING Animation = UITRST_SKL.UITRST_RNA 15 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING REALLYDAMAGED ConditionState = ATTACKING MOVING Animation = UITRST_SKL.UITRST_RNB 10 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None End AliasConditionState = ATTACKING MOVING REALLYDAMAGED ConditionState = PREATTACK_A Animation = UITRST_SKL.UITRST_ATA AnimationMode = ONCE End AliasConditionState = PREATTACK_A MOVING ConditionState = DYING Animation = UITRST_SKL.UITRST_DTA Animation = UITRST_SKL.UITRST_DTC AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UITRST_SKL.UITRST_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UITRST_SKL.UITRST_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UITRST_SKL.UITRST_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = UITRST_SKL.UITRST_CHA AnimationMode = LOOP End TransitionState = TRANS_Falling TRANS_Chute Animation = UITRST_SKL.UITRST_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = UITRST_SKL.UITRST_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Terrorist Side = GLAStealthGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None ;Kill himself so we can use FireWeaponWhenDead to fire the real weapon -- and use UNRESISTABLE ;damage to do ini logic for type of death to play -- unresistable for success. Weapon = PRIMARY TerroristSuicideWeapon End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 200 Prerequisites Object = Slth_GLABarracks End BuildCost = 200 BuildTime = 5.0 ;in seconds CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Slth_GLAInfantryTerroristCommandSet ; *** AUDIO Parameters *** VoiceSelect = TerroristVoiceSelect VoiceMove = TerroristVoiceMove VoiceAttack = TerroristVoiceAttack VoiceFear = TerroristVoiceFear VoiceGuard = TerroristVoiceMove UnitSpecificSounds VoiceGarrison = TerroristVoiceMove VoiceCreate = TerroristVoiceCreate VoiceEnter = TerroristVoiceEnter VoiceEnterHostile = TerroristVoiceEnterHostile VoiceGetHealed = TerroristVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End ExperienceValue = 20 20 20 20 ; Experience point value at each level Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_CBH01 ; allows use of command button hunt script with this unit. End Locomotor = SET_NORMAL FastHumanLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End ;Kris Behavior = ConvertToCarBombCrateCollide ModuleTag_06 RequiredKindOf = VEHICLE ; we only give our bonus to VEHICLEs we collide with ;ForbiddenKindOf = TRANSPORT DOZER ; but not to TRANSPORTs or DOZERs! FXList = FX_MakeCarBombSuccess End Behavior = SquishCollide ModuleTag_07 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristDie End ;POISON_DEATHS POISON_DEATHS POISON_DEATHS POISON_DEATHS Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry_TerroristOnly End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta_TerroristOnly ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma_TerroristOnly End ;POISON_DEATHS POISON_DEATHS POISON_DEATHS POISON_DEATHS ; I have just pulled my ripcord, and this ain't no parachute! Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +SUICIDED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death04 DeathWeapon = SuicideDynamitePack StartsActive = Yes ; turned on by upgrade DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_14 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ Object Slth_GLAInfantryAngryMobNexus ;**** ART Parameters ************************** SelectPortrait = SUAngryMob_L ButtonImage = SUAngryMob UpgradeCameo1 = Upgrade_GLAArmTheMob ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = None ; Model = AVBomber_B End End ;****DESIGN parameters ************************** DisplayName = OBJECT:AngryMobNexus Side = GLAStealthGeneral RadarPriority = NOT_ON_RADAR EditorSorting = INFANTRY TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GLAAngryMobNexusHarmlessWeapon Weapon = SECONDARY GLAAngryMobNexusHarmlessWeapon Weapon = TERTIARY GLAAngryMobNexusHarmlessWeapon End ArmorSet Conditions = None Armor = InvulnerableAllArmor DamageFX = None End BuildCost = 800 BuildTime = 15.0 ;in seconds VisionRange = 150 ; it can scout for the spawn ShroudClearingRange = 0 Prerequisites Object = Slth_GLABarracks Object = Slth_GLAPalace End ExperienceValue = 5 5 5 5 ;Experience point value at each level IsTrainable = No CommandSet = Slth_GLAInfantryAngryMobCommandSet; ;**** AUDIO Parameters ***************************** VoiceSelect = AngryMobVoiceSelect VoiceMove = AngryMobVoiceMove VoiceGuard = AngryMobVoiceMove VoiceAttack = AngryMobVoiceAttack SoundMoveStart = NoSound SoundAmbient = AngryMobAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds VoiceCreate = AngryMobVoiceCreate End ;**** ENGINEERING Parameters ****************************** RadarPriority = UNIT KindOf = PRELOAD CAN_ATTACK INFANTRY MOB_NEXUS ATTACK_NEEDS_LINE_OF_SIGHT NO_COLLIDE SELECTABLE SCORE Body = ImmortalBody ModuleTag_02 MaxHealth = 99999.0 InitialHealth = 99999.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL AngryMobNexusLocomotor ;Important! don't make the Nexus any faster! Locomotor = SET_WANDER AngryMobNexusLocomotor ;Important! don't make the Nexus any faster! Locomotor = SET_PANIC AngryMobNexusLocomotor ;Important! don't make the Nexus any faster! ; Locomotor = SET_NORMAL WanderHumanLocomotor ;Important! don't make the Nexus any faster! ; Locomotor = SET_WANDER WanderHumanLocomotor ;Important! don't make the Nexus any faster! ; Locomotor = SET_PANIC WanderHumanLocomotor ;Important! don't make the Nexus any faster! Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = SpawnBehavior ModuleTag_05 SpawnNumber = 10 SpawnReplaceDelay = 30000 ; 30 seconds SpawnTemplateName = GLAInfantryAngryMobPistol01 ; Aladdin SpawnTemplateName = GLAInfantryAngryMobRock02 ; Woman in the Gypsy Costume SpawnTemplateName = GLAInfantryAngryMobMolotov02 ; The Lady with the hot sauce SpawnTemplateName = GLAInfantryAngryMobPistol03 ; Skinny Guy with the Green Beret SpawnTemplateName = GLAInfantryAngryMobRock04 ; Fat guy with the tank top SpawnTemplateName = GLAInfantryAngryMobMolotov02 ; The Lady with the hot sauce SpawnTemplateName = GLAInfantryAngryMobPistol05 ; The robed dude with the Man-Veil ExitByBudding = Yes;! InitialBurst = 5 ; the first set of 5 will not delay OneShot = No AggregateHealth = Yes SlavesHaveFreeWill = Yes End Behavior = QueueProductionExitUpdate ModuleTag_06 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 0.0 Y: 0.0 Z:0.0 ExitDelay = 5000 ; 5 sec InitialBurst = 5 ; the first set of 5 will not delay End Behavior = DestroyDie ModuleTag_07 DeathTypes = ALL End Geometry = CYLINDER GeometryMajorRadius = 1.0 GeometryMinorRadius = 1.0 GeometryHeight = 1.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ Object Slth_GLAInfantryAngryMobPistol01 ;**** ART Parameters *** Draw = W3DModelDraw DrawTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING PISTOL ;--------------------------------------------------------- DefaultConditionState ;Idle with Pistol Holstered Model = UIMOB01_SKN IdleAnimation = UIMOB01_SKL.UIMOB01_IDA1 0 12 IdleAnimation = UIMOB01_SKL.UIMOB01_IDA2 0 5 IdleAnimation = UIMOB01_SKL.UIMOB01_CHA 0 5 IdleAnimation = UIMOB01_SKL.UIMOB01_STA 0 5 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_A WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX End ; Drawing pistol ConditionState = PREATTACK_A Animation = UIMOB01_SKL.UIMOB01_ATA1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_A FIRING_A AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A ; Firing pistol ConditionState = FIRING_A Animation = UIMOB01_SKL.UIMOB01_ATA1_LP ; looping firing AnimationMode = LOOP TransitionKey = TRANS_FIRING_A End AliasConditionState = BETWEEN_FIRING_SHOTS_A ConditionState = RELOADING_A Animation = UIMOB01_SKL.UIMOB01_ATA1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_A TRANS_STAND_A Animation = UIMOB01_SKL.UIMOB01_ATA1_ED ; end firing AnimationMode = ONCE End ConditionState = MOVING Animation = UIMOB01_SKL.UIMOB01_RNA AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING PREATTACK_A AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_C RELOADING_A AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A ConditionState = DYING Animation = UIMOB01_SKL.UIMOB01_DA1 Animation = UIMOB01_SKL.UIMOB01_DA2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB01_SKL.UIMOB01_CHA AnimationMode = ONCE End ;-------------------------------------------------------- ; TRANSITION FROM PISTOL TO AK47 TransitionState = TRANS_STAND_A TRANS_STAND_AK Animation = UIMOB01_SKL.UIMOB01_TA-D AnimationMode = ONCE End ; WHILE CARRYING AK47 ;--------------------------------------------------------- ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung Model = UIMOB01_SKN IdleAnimation = UIMOB01_SKL.UIMOB01_IDD1 0 6 IdleAnimation = UIMOB01_SKL.UIMOB01_IDD2 0 6 IdleAnimation = UIMOB01_SKL.UIMOB01_CHD 0 6 IdleAnimation = UIMOB01_SKL.UIMOB01_STD AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_AK End ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_RND AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING_AK End ConditionState = DYING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_DD1 Animation = UIMOB01_SKL.UIMOB01_DD2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_CHD AnimationMode = ONCE End ; Drawing AK47 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_ATD1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ; Firing Gun ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_ATD1_LP ; looping firing AnimationMode = LOOP WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX TransitionKey = TRANS_FIRING_AK End AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_ATD1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_AK TRANS_STAND_AK Animation = UIMOB01_SKL.UIMOB01_ATD1_ED ; end firing AnimationMode = ONCE End ; ;Throwing bottle---------------------------------------------------------------- ; ConditionState = PREATTACK_C ; Animation = UIMOB01_SKL.UIMOB01_ATCA_BF ; the wind up ; End ; AliasConditionState = PREATTACK_C FIRING_A ; AliasConditionState = PREATTACK_C RELOADING_A ; AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState = FIRING_C ; Animation = UIMOB01_SKL.UIMOB01_ATCA_AF ; the release and follow-thru ; TransitionKey = TRANS_THROW ; End ; AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState RELOADING_C ; Animation =UIMOB01_SKL.UIMOB01_IDA1 ; WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru ; End ; AliasConditionState = RELOADING_C RELOADING_A ; AliasConditionState = RELOADING_C FIRING_A ; AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A ; TransitionState = TRANSXXX TRANS_THROW ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway gun and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_A ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway bottle and get PISTOL ; End ; TransitionState = TRANSXXXAK TRANS_THROW ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway AK and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_AK ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway bottle and get AK ; End ;-------------------------------------------------------- TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB01_SKL.UIMOB01_A_ADTE1 Animation = UIMOB01_SKL.UIMOB01_D_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB01_SKL.UIMOB01_A_ADTE2 Animation = UIMOB01_SKL.UIMOB01_D_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB01_SKL.UIMOB01_A_ADTE3 Animation = UIMOB01_SKL.UIMOB01_D_ADTE3 AnimationMode = ONCE TransitionKey = None End End ;**** DESIGN parameters *** DisplayName = OBJECT:AngryMob Side = GLAStealthGeneral EditorSorting = INFANTRY TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GLAAngryMobPistolWeapon End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY GLAAngryMobAK47NoDamageWeapon ; for atttacking in AK-proof conditions Weapon = SECONDARY GLAAngryMobAK47Weapon End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 150 Prerequisites Object = Slth_GLABarracks End BuildCost = 100 BuildTime = 0.0 ExperienceValue = 5 5 5 5 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound ;**** ENGINEERING Parameters *** ;MOB01 RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables Body = ActiveBody BodyTag_01 MaxHealth = 50.0 InitialHealth = 50.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = MobMemberSlavedUpdate ModuleTag_04 MustCatchUpRadius = 40 NoNeedToCatchUpRadius = 15 Squirrelliness = 0.05 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames End Locomotor = SET_NORMAL AngryMobNormalLocomotor Locomotor = SET_WANDER AngryMobWanderLocomotor Locomotor = SET_PANIC AngryMobPanicLocomotor Behavior = PhysicsBehavior BehaviorTag_01 Mass = 5.0 End Behavior = SquishCollide ModuleTag_08 ;nothing End Behavior = WeaponSetUpgrade UpgradeTag_01 TriggeredBy = Upgrade_GLAArmTheMob End ; --- begin Death modules --- Behavior = SlowDeathBehavior DeathTag_01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabMaleDie End Behavior = SlowDeathBehavior DeathTag_02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior DeathTag_03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabMaleDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior DeathTag_04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_GIDie OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior BehaviorTag_02 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 4.0 ; very thin GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ Object Slth_GLAInfantryAngryMobRock02 ;**** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING ROCK ;--------------------------------------------------------- DefaultConditionState Model = UIMOB02_SKN IdleAnimation = UIMOB02_SKL.UIMOB02_IDB1 0 12 IdleAnimation = UIMOB02_SKL.UIMOB02_IDB2 0 5 IdleAnimation = UIMOB02_SKL.UIMOB02_CHB 0 5 IdleAnimation = UIMOB02_SKL.UIMOB02_STB 0 12 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_A ;WeaponFireFXBone = PRIMARY "UIMOB02 R HAND" ;WeaponMuzzleFlash = PRIMARY "UIMOB02 R HAND" WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX End ; Drawing rock ConditionState = PREATTACK_A Animation = UIMOB02_SKL.UIMOB02_ATB2_BF ; wind up AnimationMode = ONCE End AliasConditionState = PREATTACK_A FIRING_A AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A ; throwing rock ConditionState = FIRING_A Animation = UIMOB02_SKL.UIMOB02_ATB1_AF ; throw Animation = UIMOB02_SKL.UIMOB02_ATB2_AF ; throw AnimationMode = ONCE TransitionKey = TRANS_FIRING_A End ConditionState = BETWEEN_FIRING_SHOTS_A Animation = UIMOB02_SKL.UIMOB02_STB AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_FIRING_A End AliasConditionState = RELOADING_A ConditionState = MOVING Animation = UIMOB02_SKL.UIMOB02_RNB AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = UIMOB02_SKL.UIMOB02_DB1 Animation = UIMOB02_SKL.UIMOB02_DB2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB02_SKL.UIMOB02_CHB Flags = RANDOMSTART AnimationMode = LOOP End ;-------------------------------------------------------- ; TRANSITION FROM PISTOL TO AK47 TransitionState = TRANS_STAND_A TRANS_STAND_AK Animation = UIMOB02_SKL.UIMOB02_TB-D AnimationMode = ONCE End ; WHILE CARRYING AK47 ;--------------------------------------------------------- ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung Model = UIMOB02_SKN IdleAnimation = UIMOB02_SKL.UIMOB02_IDD1 0 6 IdleAnimation = UIMOB02_SKL.UIMOB02_IDD2 0 6 IdleAnimation = UIMOB02_SKL.UIMOB02_CHD 0 6 IdleAnimation = UIMOB02_SKL.UIMOB02_STD AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_AK End ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_RND AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING_AK End ConditionState = DYING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_DD1 Animation = UIMOB02_SKL.UIMOB02_DD2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_CHD AnimationMode = ONCE End ; Drawing AK47 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_ATD1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ; Firing Gun ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_ATD1_LP ; looping firing AnimationMode = LOOP WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX TransitionKey = TRANS_FIRING_AK End AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_ATD1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_AK TRANS_STAND_AK Animation = UIMOB02_SKL.UIMOB02_ATD1_ED ; end firing AnimationMode = ONCE End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB02_SKL.UIMOB02_B_ADTA1 Animation = UIMOB02_SKL.UIMOB02_D_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB02_SKL.UIMOB02_B_ADTA2 Animation = UIMOB02_SKL.UIMOB02_D_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB02_SKL.UIMOB02_B_ADTA3 Animation = UIMOB02_SKL.UIMOB02_D_ADTA3 AnimationMode = ONCE TransitionKey = None End End ;**** DESIGN parameters *** DisplayName = OBJECT:AngryMob Side = GLAStealthGeneral EditorSorting = INFANTRY TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GLAAngryMobRockProjectileWeapon End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY GLAAngryMobAK47NoDamageWeapon ; for atttacking in AK-proof conditions Weapon = SECONDARY GLAAngryMobAK47Weapon End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 150 Prerequisites Object = Slth_GLABarracks End BuildCost = 100 BuildTime = 0.0 ExperienceValue = 5 5 5 5 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound ;**** ENGINEERING Parameters *** ;MOB02 RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables Body = ActiveBody BodyTag_01 MaxHealth = 50.0 InitialHealth = 50.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = MobMemberSlavedUpdate ModuleTag_04 MustCatchUpRadius = 40 NoNeedToCatchUpRadius = 15 Squirrelliness = 0.05 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames End Locomotor = SET_NORMAL AngryMobNormalLocomotor Locomotor = SET_WANDER AngryMobWanderLocomotor Locomotor = SET_PANIC AngryMobPanicLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 5.0 End Behavior = SquishCollide ModuleTag_08 ;nothing End Behavior = WeaponSetUpgrade UpgradeTag_01 TriggeredBy = Upgrade_GLAArmTheMob End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabFemaleDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabFemaleDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_GIDie OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 4.0 ; very thin GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ObjectReskin Slth_GLAInfantryAngryMobPistol03 Slth_GLAInfantryAngryMobPistol01 ;**** ART Parameters *** Draw = W3DModelDraw DrawTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING PISTOL ;--------------------------------------------------------- DefaultConditionState ;Idle with Pistol Holstered Model = UIMOB03_SKN IdleAnimation = UIMOB03_SKL.UIMOB03_IDA1 0 12 IdleAnimation = UIMOB03_SKL.UIMOB03_IDA2 0 5 IdleAnimation = UIMOB03_SKL.UIMOB03_CHA 0 5 IdleAnimation = UIMOB03_SKL.UIMOB03_STA 0 5 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_A WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX WeaponFireFXBone = TERTIARY "UIMOB03 R HAND" End ; Drawing pistol ConditionState = PREATTACK_A Animation = UIMOB03_SKL.UIMOB03_ATA1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_A FIRING_A AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A ; Firing pistol ConditionState = FIRING_A Animation = UIMOB03_SKL.UIMOB03_ATA1_LP ; looping firing AnimationMode = LOOP TransitionKey = TRANS_FIRING_A End AliasConditionState = BETWEEN_FIRING_SHOTS_A ConditionState = RELOADING_A Animation = UIMOB03_SKL.UIMOB03_ATA1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_A TRANS_STAND_A Animation = UIMOB03_SKL.UIMOB03_ATA1_ED ; end firing AnimationMode = ONCE End ConditionState = MOVING Animation = UIMOB03_SKL.UIMOB03_RNA AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING PREATTACK_A AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_C RELOADING_A AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A ConditionState = DYING Animation = UIMOB03_SKL.UIMOB03_DA1 Animation = UIMOB03_SKL.UIMOB03_DA2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB03_SKL.UIMOB03_CHA AnimationMode = ONCE End ;-------------------------------------------------------- ; TRANSITION FROM PISTOL TO AK47 TransitionState = TRANS_STAND_A TRANS_STAND_AK Animation = UIMOB03_SKL.UIMOB03_TA-D AnimationMode = ONCE End ; WHILE CARRYING AK47 ;--------------------------------------------------------- ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung Model = UIMOB03_SKN IdleAnimation = UIMOB03_SKL.UIMOB03_IDD1 0 6 IdleAnimation = UIMOB03_SKL.UIMOB03_IDD2 0 6 IdleAnimation = UIMOB03_SKL.UIMOB03_CHD 0 6 IdleAnimation = UIMOB03_SKL.UIMOB03_STD AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_AK End ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_RND AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING_AK End ConditionState = DYING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_DD1 Animation = UIMOB03_SKL.UIMOB03_DD2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_CHD AnimationMode = ONCE End ; Drawing AK47 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_ATD_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ; Firing Gun ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_ATD_LP ; looping firing AnimationMode = LOOP WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX TransitionKey = TRANS_FIRING_AK End AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_ATD_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_AK TRANS_STAND_AK Animation = UIMOB03_SKL.UIMOB03_ATD_ED ; end firing AnimationMode = ONCE End ; ;Throwing bottle---------------------------------------------------------------- ; ConditionState = PREATTACK_C ; Animation = UIMOB03_SKL.UIMOB03_ATCA_BF ; the wind up ; End ; AliasConditionState = PREATTACK_C FIRING_A ; AliasConditionState = PREATTACK_C RELOADING_A ; AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState = FIRING_C ; Animation = UIMOB03_SKL.UIMOB03_ATCA_AF ; the release and follow-thru ; TransitionKey = TRANS_THROW ; End ; AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState RELOADING_C ; Animation =UIMOB03_SKL.UIMOB03_IDA1 ; WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru ; ; End ; AliasConditionState = RELOADING_C RELOADING_A ; AliasConditionState = RELOADING_C FIRING_A ; AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A ; TransitionState = TRANSXXX TRANS_THROW ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway gun and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_A ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway bottle and get PISTOL ; End ; TransitionState = TRANSXXXAK TRANS_THROW ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway AK and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_AK ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway bottle and get AK ; End ;-------------------------------------------------------- TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB03_SKL.UIMOB03_A_ADTD1 Animation = UIMOB03_SKL.UIMOB03_D_ADTD1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB03_SKL.UIMOB03_A_ADTD2 Animation = UIMOB03_SKL.UIMOB03_D_ADTD2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB03_SKL.UIMOB03_A_ADTD3 Animation = UIMOB03_SKL.UIMOB03_D_ADTD3 AnimationMode = ONCE TransitionKey = None End End Geometry = CYLINDER GeometryMajorRadius = 3.0 ; very thin GeometryMinorRadius = 3.0 ; very thinD GeometryHeight = 12.0 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ObjectReskin Slth_GLAInfantryAngryMobRock04 Slth_GLAInfantryAngryMobRock02 ;**** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING ROCK ;--------------------------------------------------------- DefaultConditionState Model = UIMOB04_SKN IdleAnimation = UIMOB04_SKL.UIMOB04_IDB1 0 12 IdleAnimation = UIMOB04_SKL.UIMOB04_IDB2 0 5 IdleAnimation = UIMOB04_SKL.UIMOB04_CHB 0 5 IdleAnimation = UIMOB04_SKL.UIMOB04_STB 0 12 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_A WaitForStateToFinishIfPossible TRANS_FIRING_A ;WeaponFireFXBone = PRIMARY "UIMOB04 R HAND" ;WeaponMuzzleFlash = PRIMARY "UIMOB04 R HAND" WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX End ; Drawing rock ConditionState = PREATTACK_A Animation = UIMOB04_SKL.UIMOB04_ATB2_BF ; wind up AnimationMode = ONCE AnimationSpeedFactorRange 1.0 1.0 End AliasConditionState = PREATTACK_A FIRING_A AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A ; throwing rock ConditionState = FIRING_A Animation = UIMOB04_SKL.UIMOB04_ATB1_AF ; throw Animation = UIMOB04_SKL.UIMOB04_ATB2_AF ; throw AnimationMode = ONCE TransitionKey = TRANS_FIRING_A End ConditionState = BETWEEN_FIRING_SHOTS_A Animation = UIMOB04_SKL.UIMOB04_STB AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_FIRING_A End AliasConditionState = RELOADING_A ConditionState = MOVING Animation = UIMOB04_SKL.UIMOB04_RUN AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = UIMOB04_SKL.UIMOB04_DB1 Animation = UIMOB04_SKL.UIMOB04_DB2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB04_SKL.UIMOB04_CHB Flags = RANDOMSTART AnimationMode = LOOP End ;-------------------------------------------------------- ; TRANSITION FROM PISTOL TO AK47 TransitionState = TRANS_STAND_A TRANS_STAND_AK Animation = UIMOB04_SKL.UIMOB04_TB-D AnimationMode = ONCE End ; WHILE CARRYING AK47 ;--------------------------------------------------------- ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung Model = UIMOB04_SKN IdleAnimation = UIMOB04_SKL.UIMOB04_IDD1 0 6 IdleAnimation = UIMOB04_SKL.UIMOB04_IDD2 0 6 IdleAnimation = UIMOB04_SKL.UIMOB04_CHD 0 6 IdleAnimation = UIMOB04_SKL.UIMOB04_STD AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_AK WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX End ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_RND AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING_AK End ConditionState = DYING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_DD1 Animation = UIMOB04_SKL.UIMOB04_DD2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_CHD AnimationMode = ONCE End ; Drawing AK47 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_ATD1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ; Firing Gun ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_ATD1_LP ; looping firing AnimationMode = LOOP WeaponFireFXBone = PRIMARY MuzzleAK WeaponMuzzleFlash = PRIMARY MuzzleAKFX TransitionKey = TRANS_FIRING_AK End AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_ATD1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_AK TRANS_STAND_AK Animation = UIMOB04_SKL.UIMOB04_ATD1_ED ; end firing AnimationMode = ONCE End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB04_SKL.UIMOB04_B_ADTF1 Animation = UIMOB04_SKL.UIMOB04_D_ADTF1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB04_SKL.UIMOB04_B_ADTF2 Animation = UIMOB04_SKL.UIMOB04_D_ADTF2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB04_SKL.UIMOB04_B_ADTF3 Animation = UIMOB04_SKL.UIMOB04_D_ADTF3 AnimationMode = ONCE TransitionKey = None End End Geometry = CYLINDER GeometryMajorRadius = 5.0 ; kinda thin GeometryMinorRadius = 5.0 ; kinda thinD GeometryHeight = 12.0 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ObjectReskin Slth_GLAInfantryAngryMobPistol05 Slth_GLAInfantryAngryMobPistol01 ;**** ART Parameters *** Draw = W3DModelDraw DrawTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING PISTOL ;--------------------------------------------------------- DefaultConditionState ;Idle with Pistol Holstered Model = UIMOB05_SKN IdleAnimation = UIMOB05_SKL.UIMOB05_IDA1 0 12 IdleAnimation = UIMOB05_SKL.UIMOB05_IDA2 0 5 IdleAnimation = UIMOB05_SKL.UIMOB05_CHA 0 5 IdleAnimation = UIMOB05_SKL.UIMOB05_STA 0 5 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_A WeaponFireFXBone = PRIMARY Muzzle01 WeaponMuzzleFlash = PRIMARY Muzzle01 End ; Drawing pistol ConditionState = PREATTACK_A Animation = UIMOB05_SKL.UIMOB05_ATA1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_A FIRING_A AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A ; Firing pistol ConditionState = FIRING_A Animation = UIMOB05_SKL.UIMOB05_ATA1_LP ; looping firing AnimationMode = LOOP TransitionKey = TRANS_FIRING_A End AliasConditionState = BETWEEN_FIRING_SHOTS_A ConditionState = RELOADING_A Animation = UIMOB05_SKL.UIMOB05_ATA1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_A TRANS_STAND_A Animation = UIMOB05_SKL.UIMOB05_ATA1_ED ; end firing AnimationMode = ONCE End ConditionState = MOVING Animation = UIMOB05_SKL.UIMOB05_RNA AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING PREATTACK_A AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_C RELOADING_A AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A ConditionState = DYING Animation = UIMOB05_SKL.UIMOB05_DA1 Animation = UIMOB05_SKL.UIMOB05_DA2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB05_SKL.UIMOB05_CHA AnimationMode = ONCE End ;-------------------------------------------------------- ; TRANSITION FROM PISTOL TO AK47 TransitionState = TRANS_STAND_A TRANS_STAND_AK Animation = UIMOB05_SKL.UIMOB05_TA-D AnimationMode = ONCE End ; WHILE CARRYING AK47 ;--------------------------------------------------------- ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung Model = UIMOB05_SKN IdleAnimation = UIMOB05_SKL.UIMOB05_IDD1 0 6 IdleAnimation = UIMOB05_SKL.UIMOB05_IDD2 0 6 IdleAnimation = UIMOB05_SKL.UIMOB05_CHD 0 6 IdleAnimation = UIMOB05_SKL.UIMOB05_STD AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_AK WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX End ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_RND AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING_AK End ConditionState = DYING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_DD1 Animation = UIMOB05_SKL.UIMOB05_DD2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_CHD AnimationMode = ONCE End ; Drawing AK47 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_ATD1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ; Firing Gun ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_ATD1_LP ; looping firing AnimationMode = LOOP WeaponFireFXBone = PRIMARY MuzzleAK WeaponMuzzleFlash = PRIMARY MuzzleAKFX TransitionKey = TRANS_FIRING_AK End AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_ATD1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_AK TRANS_STAND_AK Animation = UIMOB05_SKL.UIMOB05_ATD1_ED ; end firing AnimationMode = ONCE End ; ;Throwing bottle---------------------------------------------------------------- ; ConditionState = PREATTACK_C ; Animation = UIMOB05_SKL.UIMOB05_ATCA_BF ; the wind up ; End ; AliasConditionState = PREATTACK_C FIRING_A ; AliasConditionState = PREATTACK_C RELOADING_A ; AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState = FIRING_C ; Animation = UIMOB05_SKL.UIMOB05_ATCA_AF ; the release and follow-thru ; TransitionKey = TRANS_THROW ; End ; AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState RELOADING_C ; Animation =UIMOB05_SKL.UIMOB05_IDA1 ; WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru ; End ; AliasConditionState = RELOADING_C RELOADING_A ; AliasConditionState = RELOADING_C FIRING_A ; AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A ; TransitionState = TRANSXXX TRANS_THROW ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway gun and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_A ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway bottle and get PISTOL ; End ; TransitionState = TRANSXXXAK TRANS_THROW ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway AK and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_AK ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway bottle and get AK ; End ;-------------------------------------------------------- TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB05_SKL.UIMOB05_A_ADTA1 Animation = UIMOB05_SKL.UIMOB05_D_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB05_SKL.UIMOB05_A_ADTA2 Animation = UIMOB05_SKL.UIMOB05_D_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB05_SKL.UIMOB05_A_ADTA3 Animation = UIMOB05_SKL.UIMOB05_D_ADTA3 AnimationMode = ONCE TransitionKey = None End End Geometry = CYLINDER GeometryMajorRadius = 3.0 ; very thin GeometryMinorRadius = 3.0 ; very thinD GeometryHeight = 12.0 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ Object Slth_GLAInfantryAngryMobMolotov02 ;**** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING ROCK ;--------------------------------------------------------- DefaultConditionState Model = UIMOB02_SKN IdleAnimation = UIMOB02_SKL.UIMOB02_IDB1 0 12 IdleAnimation = UIMOB02_SKL.UIMOB02_IDB2 0 5 IdleAnimation = UIMOB02_SKL.UIMOB02_CHB 0 5 IdleAnimation = UIMOB02_SKL.UIMOB02_STB 0 12 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_B WeaponFireFXBone = SECONDARY "UIMOB02 R HAND" End ; Drawing rock ConditionState = PREATTACK_B Animation = UIMOB02_SKL.UIMOB02_ATCB_BF ; wind up AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B ; throwing rock ConditionState = FIRING_B Animation = UIMOB02_SKL.UIMOB02_ATCB_AF ; throw AnimationMode = ONCE TransitionKey = TRANS_FIRING_B End ConditionState = BETWEEN_FIRING_SHOTS_B Animation = UIMOB02_SKL.UIMOB02_STB AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_FIRING_B End AliasConditionState = RELOADING_B ConditionState = MOVING Animation = UIMOB02_SKL.UIMOB02_RNB AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = UIMOB02_SKL.UIMOB02_DB1 Animation = UIMOB02_SKL.UIMOB02_DB2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB02_SKL.UIMOB02_CHB Flags = RANDOMSTART AnimationMode = LOOP End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB02_SKL.UIMOB02_B_ADTA1 Animation = UIMOB02_SKL.UIMOB02_D_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB02_SKL.UIMOB02_B_ADTA2 Animation = UIMOB02_SKL.UIMOB02_D_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB02_SKL.UIMOB02_B_ADTA3 Animation = UIMOB02_SKL.UIMOB02_D_ADTA3 AnimationMode = ONCE TransitionKey = None End End ;**** DESIGN parameters *** DisplayName = OBJECT:AngryMob Side = GLAStealthGeneral EditorSorting = INFANTRY TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GLAAngryMobMolotovCocktailProjectileWeapon ; all she does is throw molotovs End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 150 Prerequisites Object = Slth_GLABarracks End BuildCost = 100 BuildTime = 0.0 ExperienceValue = 5 5 5 5 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound ;**** ENGINEERING Parameters *** ;MOB02 RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables Body = ActiveBody BodyTag_01 MaxHealth = 50.0 InitialHealth = 50.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = MobMemberSlavedUpdate ModuleTag_04 MustCatchUpRadius = 40 NoNeedToCatchUpRadius = 15 Squirrelliness = 0.05 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames End Locomotor = SET_NORMAL AngryMobNormalLocomotor Locomotor = SET_WANDER AngryMobWanderLocomotor Locomotor = SET_PANIC AngryMobPanicLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 5.0 End Behavior = SquishCollide ModuleTag_08 ;nothing End Behavior = WeaponSetUpgrade UpgradeTag_01 TriggeredBy = Upgrade_GLAArmTheMob End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabFemaleDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabFemaleDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_GIDie OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 4.0 ; very thin GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ Object Slth_GLAInfantryHijacker ; *** ART Parameters *** SelectPortrait = SUHijacker_L ButtonImage = SUHijacker ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UIHJCK_SKN IdleAnimation = UIHJCK_SKL.UIHJCK_STA 0 25 IdleAnimation = UIHJCK_SKL.UIHJCK_IDA IdleAnimation = UIHJCK_SKL.UIHJCK_IDB AnimationMode = ONCE TransitionKey = TRANS_Stand End AliasConditionState = REALLYDAMAGED ConditionState = MOVING Animation = UIHJCK_SKL.UIHJCK_RUN AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = REALLYDAMAGED MOVING ConditionState = DYING Animation = UIHJCK_SKL.UIHJCK_DTA Animation = UIHJCK_SKL.UIHJCK_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIHJCK_SKL.UIHJCK_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIHJCK_SKL.UIHJCK_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIHJCK_SKL.UIHJCK_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = UIHJCK_SKL.UIHJCK_CHA AnimationMode = LOOP End ConditionState = PARACHUTING Animation = UIHJCK_SKL.UIHJCK_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = UIHJCK_SKL.UIHJCK_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = UIHJCK_SKL.UIHJCK_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Hijacker Side = GLAStealthGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 100 ShroudClearingRange = 200 Prerequisites Object = Slth_GLABarracks End BuildCost = 600 BuildTime = 15.0 ;in seconds ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = No ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Slth_GLAInfantryHijackerCommandSet ; *** AUDIO Parameters *** VoiceSelect = HijackerVoiceSelect VoiceMove = HijackerVoiceMove VoiceGuard = HijackerVoiceMove VoiceAttack = HijackerVoiceAttack VoiceFear = HijackerVoiceFear UnitSpecificSounds VoiceGarrison = HijackerVoiceGarrison VoiceCreate = HijackerVoiceCreate VoiceEnter = HijackerVoiceEnter VoiceEnterHostile = HijackerVoiceEnterHostile VoiceGetHealed = HijackerVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT EnterGuard = Yes HijackGuard = Yes KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE STEALTH_GARRISON ;STEALTH_GARRISON Added per Dustin, 12/14--ML Behavior = StealthUpdate ModuleTag_02 StealthDelay = 500 ; half second delay before stealthy StealthForbiddenConditions = None ;MOVING only stealthy while stationary MoveThresholdSpeed = 3 InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Body = ActiveBody ModuleTag_03 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = HijackerUpdate ModuleTag_04 ParachuteName = AmericaParachute End Behavior = AIUpdateInterface ModuleTag_05 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_CBH01 ; allows use of command button hunt script with this unit. End Locomotor = SET_NORMAL JarmenKellLocomotor Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = ConvertToHijackedVehicleCrateCollide ModuleTag_08 RequiredKindOf = VEHICLE ; This is my car now, infidel! End Behavior = SquishCollide ModuleTag_09 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_HijackerDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_HijackerDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_14 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Slth_GLAInfantryWorker ; *** ART Parameters *** SelectPortrait = SUWorker_L ButtonImage = SUWorker UpgradeCameo1 = Upgrade_GLAWorkerShoes ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UIWRKR_SKN IdleAnimation = UIWRKR_SKL.UIWRKR_STA 0 9 IdleAnimation = UIWRKR_SKL.UIWRKR_IDA AnimationMode = ONCE TransitionKey = TRANS_Stand End ConditionState = MOVING Animation = UIWRKR_SKL.UIWRKR_RNA 16 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Moving ParticleSysBone = None InfantryDustTrails End ; it is legal to be ACTIVELY_CONSTRUCTING and MOVING at the same time, ; since we flip the bit once we get pretty close to the target. but it looks ; funky to do the construction animation while moving. ; so just use the normal move animation in that case. AliasConditionState = ACTIVELY_CONSTRUCTING MOVING ConditionState = ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_MS AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_MetalDetector_Standing End ConditionState = MOVING ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_MSW 50 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_MetalDetector_Moving ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING CARRYING TransitionState = TRANS_Stand TRANS_MetalDetector_Standing ;STANDING -> ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB1;take out standing AnimationMode = ONCE End TransitionState = TRANS_MetalDetector_Standing TRANS_Stand ;ATTACKING -> STANDING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB2;put away standing AnimationMode = ONCE End TransitionState = TRANS_Carry TRANS_MetalDetector_Standing ;CARRYING -> ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB1;take out standing AnimationMode = ONCE End TransitionState = TRANS_MetalDetector_Standing TRANS_Carry ;ATTACKING -> CARRYING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB2;put away standing AnimationMode = ONCE End TransitionState = TRANS_Carry TRANS_MetalDetector_Moving ;CARRYING -> MOVING ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION] AnimationMode = ONCE AnimationSpeedFactorRange = 2.0 2.0 End TransitionState = TRANS_MetalDetector_Moving TRANS_Stand ;MOVING ATTACKING -> STANDING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB2;put away moving AnimationMode = ONCE End TransitionState = TRANS_Stand TRANS_MetalDetector_Moving ;STANDING -> MOVING ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION] AnimationMode = ONCE AnimationSpeedFactorRange = 2.0 2.0 End TransitionState = TRANS_Moving TRANS_MetalDetector_Standing ;MOVING -> ATTACKING [STANDING] ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB1;take out standing AnimationMode = ONCE End TransitionState = TRANS_MetalDetector_Standing TRANS_Moving ;ATTACKING [STANDING] -> MOVING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRC2;put away moving [NEW NON-SKATING ANIMATION] AnimationMode = ONCE AnimationSpeedFactorRange = 2.0 2.0 End TransitionState = TRANS_Moving TRANS_MetalDetector_Moving ;MOVING -> MOVING ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION] AnimationMode = ONCE AnimationSpeedFactorRange = 2.0 2.0 End TransitionState = TRANS_MetalDetector_Moving TRANS_Moving ;MOVING ATTACKING -> MOVING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRC2;put away moving [NEW NON-SKATING ANIMATION] AnimationMode = ONCE AnimationSpeedFactorRange = 2.0 2.0 End ConditionState = MOVING CARRYING ShowSubObject = BOX Animation = UIWRKR_SKL.UIWRKR_CARY 12 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Carry ParticleSysBone = None InfantryDustTrails End ; it is legal to be ACTIVELY_CONSTRUCTING and MOVING at the same time, ; since we flip the bit once we get pretty close to the target. but it looks ; funky to do the construction animation while moving. ; so just use the normal move animation in that case. AliasConditionState = ACTIVELY_CONSTRUCTING MOVING CARRYING ConditionState = CARRYING ShowSubObject = BOX Animation = UIWRKR_SKL.UIWRKR_CARST 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Carry End ConditionState = DYING Animation = UIWRKR_SKL.UIWRKR_DTA AnimationMode = ONCE TransitionKey = TRANS_Dying End AliasConditionState = DYING CARRYING TransitionState = TRANS_Dying TRANS_Flailing Animation = UIWRKR_SKL.UIWRKR_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIWRKR_SKL.UIWRKR_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIWRKR_SKL.UIWRKR_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = UIWRKR_SKL.UIWRKR_CHA AnimationMode = ONCE End ConditionState = ACTIVELY_CONSTRUCTING Animation = UIWRKR_SKL.UIWRKR_BDA AnimationMode = LOOP TransitionKey = TRANS_Constructing End AliasConditionState = ACTIVELY_CONSTRUCTING CARRYING ; -------------------- TransitionState = TRANS_Stand TRANS_Carry ShowSubObject = BOX Animation = UIWRKR_SKL.UIWRKR_PIK AnimationMode = ONCE End TransitionState = TRANS_Carry TRANS_Stand ShowSubObject = BOX Animation = UIWRKR_SKL.UIWRKR_PIK AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End TransitionState = TRANS_Stand TRANS_Constructing Animation = UIWRKR_SKL.UIWRKR_TRA1 AnimationMode = ONCE End TransitionState = TRANS_Constructing TRANS_Stand Animation = UIWRKR_SKL.UIWRKR_TRA2 AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Worker Side = GLAStealthGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY None End WeaponSet Conditions = MINE_CLEARING_DETAIL Weapon = PRIMARY WorkerMineDisarmingWeapon End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 100 ShroudClearingRange = 200 ;Prerequisites ; Object = Slth_GLABarracks GLASupplyStash ;commented out, or else you can't build from Con Yard as Dozer. ;End BuildCost = 200 BuildTime = 3.0 ;in seconds CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Slth_GLAWorkerCommandSet ; *** AUDIO Parameters *** VoiceSelect = WorkerVoiceSelect VoiceMove = WorkerVoiceMove VoiceAttack = WorkerVoiceMove VoiceGuard = WorkerVoiceMove VoiceFear = WorkerVoiceFear VoiceTaskComplete = WorkerVoiceBuildComplete UnitSpecificSounds VoiceEnter = WorkerVoiceMoveUpgraded VoiceEnterHostile = WorkerVoiceMoveUpgraded VoiceGarrison = WorkerVoiceGarrison VoiceCreate = WorkerVoiceCreate VoiceSupply = WorkerVoiceSupply VoiceNoBuild = WorkerVoiceBuildNot VoiceRepair = WorkerVoiceRepair VoiceDisarm = WorkerVoiceClearMine VoiceBuildResponse = WorkerVoiceBuild VoiceGetHealed = WorkerVoiceMoveUpgraded VoiceMoveUpgraded = WorkerVoiceMoveUpgraded End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY SALVAGER DOZER HARVESTER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = WorkerAIUpdate ModuleTag_03 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second BoredTime = 5000 ; in milliseconds BoredRange = 150 ; when bored, we look this far away to do something MaxBoxes = 1 UpgradedSupplyBoost = 8 ; gives this much more cash for every box collected SupplyCenterActionDelay = 150 ;400 ; ms for whole thing (one transaction) SupplyWarehouseActionDelay = 150 ;400 ;ms per box (many small transactions) SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan) SuppliesDepletedVoice = WorkerVoiceSuppliesDepleted ; the only "enemies" that workers can acquire are mines, to be disarmed... AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL FastHumanLocomotor Locomotor = SET_NORMAL_UPGRADED WorkerShoesLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = SquishCollide ModuleTag_06 ;nothing End Behavior = LocomotorSetUpgrade ModuleTag_07 TriggeredBy = Upgrade_GLAWorkerShoes End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_WorkerDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_WorkerDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = StealthDetectorUpdate ModuleTag_12 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. ExtraRequiredKindOf = MINE ; we can only detect MINES, not other stealthed things End Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = CommandSetUpgrade ModuleTag_14 TriggeredBy = Upgrade_GLAWorkerFakeCommandSet RemovesUpgrades = Upgrade_GLAWorkerRealCommandSet CommandSet = Slth_GLAWorkerFakeBuildingsCommandSet End Behavior = CommandSetUpgrade ModuleTag_15 TriggeredBy = Upgrade_GLAWorkerRealCommandSet RemovesUpgrades = Upgrade_GLAWorkerFakeCommandSet Upgrade_GLAWorkerRealCommandSet CommandSet = Slth_GLAWorkerCommandSet End Behavior = ProductionUpdate ModuleTag_16 MaxQueueEntries = 1; For the command set switching upgrade End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Slth_GLAInfantrySaboteur ; *** ART Parameters *** SelectPortrait = SUSaboteur_L ButtonImage = SUSaboteur ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; this says "we don't use these condition states at all, so completely ; ignore them for purposes of matchmaking"... this is useful to help ; reduce the number of AliasConditionState clauses you must add in ; order to avoid ambiguity in some cases. IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A ; ---- standing DefaultConditionState Model = UISabotr_SKN IdleAnimation = UIWRKR_SKL.UIWRKR_STA 0 9 IdleAnimation = UIWRKR_SKL.UIWRKR_IDA AnimationMode = ONCE TransitionKey = TRANS_Stand End ConditionState = MOVING Animation = UIWRKR_SKL.UIWRKR_RNA 16 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Moving ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = UIWRKR_SKL.UIWRKR_DTA AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIWRKR_SKL.UIWRKR_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIWRKR_SKL.UIWRKR_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIWRKR_SKL.UIWRKR_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = UIWRKR_SKL.UIWRKR_CHA AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Saboteur Side = GLAStealthGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Slth_GLAArmsDealer End BuildCost = 800 BuildTime = 15.0 ;in seconds ExperienceValue = 15 15 30 40 ;Experience point value at each level ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = GLAInfantrySaboteurCommandSet ; *** AUDIO Parameters *** VoiceSelect = SaboteurVoiceSelect VoiceMove = SaboteurVoiceMove VoiceGuard = SaboteurVoiceMove VoiceAttack = SaboteurVoiceAttack SoundStealthOn = StealthOn SoundStealthOff = StealthOff VoiceFear = SaboteurVoiceFear VoiceTaskComplete = NoSound UnitSpecificSounds VoiceCreate = SaboteurVoiceCreate VoiceSubdue = SaboteurVoiceMove VoiceGarrison = SaboteurVoiceMove VoiceEnter = SaboteurVoiceMove VoiceEnterHostile = SaboteurVoiceAttack VoiceGetHealed = SaboteurVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. End Locomotor = SET_NORMAL SaboteurGroundLocomotor SaboteurCliffLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 5.0 End Behavior = StealthUpdate ModuleTag_07 StealthDelay = 2500 ; msec StealthForbiddenConditions = None InnateStealth = Yes ;Requires upgrade first OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = SquishCollide ModuleTag_11 ;nothing End Behavior = SabotagePowerPlantCrateCollide SabotageTag_01 BuildingPickup = Yes SabotagePowerDuration = 30000 End ;Behavior = SabotageSupplyDropzoneCrateCollide SabotageTag_02 ; BuildingPickup = Yes ; StealCashAmount = 800 ;End Behavior = SabotageSuperweaponCrateCollide SabotageTag_03 BuildingPickup = Yes End Behavior = SabotageCommandCenterCrateCollide SabotageTag_04 BuildingPickup = Yes End Behavior = SabotageSupplyCenterCrateCollide SabotageTag_05 BuildingPickup = Yes StealCashAmount = 1000 End Behavior = SabotageMilitaryFactoryCrateCollide SabotageTag_06 BuildingPickup = Yes SabotageDuration = 30000 End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RebelDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RebelDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_16 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End ; Behavior = SpecialAbility ModuleTag_17 ; SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding ; UpdateModuleStartsAttack = Yes ; StartsPaused = Yes ; InitiateSound = RebelVoiceCapture ; End ; Behavior = SpecialAbilityUpdate ModuleTag_18 ; SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding ; StartAbilityRange = 5.0 ; UnpackTime = 3000 ; (changing this will scale anim speed) ; PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) ; PackTime = 2000 ; (changing this will scale anim speed) ; DoCaptureFX = Yes ; AwardXPForTriggering = 12 ; ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. ; End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Slth_GLATankScorpion ; *** ART Parameters *** SelectPortrait = SUScorpion_L ButtonImage = SUScorpion UpgradeCameo1 = Upgrade_GLAScorpionRocket UpgradeCameo2 = Upgrade_GLAAPRockets UpgradeCameo3 = Upgrade_GLAToxinShells UpgradeCameo4 = Upgrade_GLAJunkRepair ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes ProjectileBoneFeedbackEnabledSlots = SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset ; ------------ Normal DefaultConditionState Model = UVLiteTank Turret = Turret ; Logic twist bone is always this, both turrets are subobjects of it, as are both missile racks ; note, order-dependent: we must hide/show Missile AFTER we hide/show MissileRack! ShowSubObject = Turret01 HideSubObject = MissleRack01 MissleRack02 TurretUP01; MissileRack misspelled in the Art WeaponFireFXBone = PRIMARY Muzzle WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponLaunchBone = PRIMARY Muzzle End ConditionState = REALLYDAMAGED Model = UVLiteTank_d End AliasConditionState = RUBBLE ; ------------ With big turret ConditionState = WEAPONSET_CRATEUPGRADE_ONE ; one or two crates is a turret switch ShowSubObject = TurretUP01 HideSubObject = MissleRack01 MissleRack02 Turret01 ; MissileRack misspelled in the Art End AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED Model = UVLiteTank_d ShowSubObject = TurretUP01 HideSubObject = MissleRack01 MissleRack02 Turret01 ; MissileRack misspelled in the Art End AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED ; ---------- With missile ConditionState = WEAPONSET_PLAYER_UPGRADE ShowSubObject = MissleRack01 Turret01 HideSubObject = MissleRack02 TurretUP01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = UVLiteTank_d ShowSubObject = MissleRack01 Turret01 HideSubObject = MissleRack02 TurretUP01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ; ---------- With missile and big turret ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE ShowSubObject = MissleRack01 TurretUP01 HideSubObject = MissleRack02 Turret01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED Model = UVLiteTank_d ShowSubObject = MissleRack01 TurretUP01 HideSubObject = MissleRack02 Turret01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ; ---------- With two missiles and big turret ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO ShowSubObject = MissleRack01 MissleRack02 TurretUP01 HideSubObject = Turret01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED Model = UVLiteTank_d ShowSubObject = MissleRack01 MissleRack02 TurretUP01 HideSubObject = Turret01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:Scorpion Side = GLAStealthGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY ScorpionTankGun Weapon = SECONDARY None End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY ScorpionTankGun Weapon = SECONDARY ScorpionMissileWeapon End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY ScorpionTankGunPlusOne Weapon = SECONDARY None End WeaponSet Conditions = CRATEUPGRADE_ONE PLAYER_UPGRADE Weapon = PRIMARY ScorpionTankGunPlusOne Weapon = SECONDARY ScorpionMissileWeapon ; No bonus at Plus One End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY ScorpionTankGunPlusOne ; No further bonus at plus two Weapon = SECONDARY None End WeaponSet Conditions = CRATEUPGRADE_TWO PLAYER_UPGRADE Weapon = PRIMARY ScorpionTankGunPlusOne ; No further bonus at plus two Weapon = SECONDARY ScorpionMissileWeaponPlusTwo End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End BuildCost = 600 BuildTime = 7.0 ;in seconds VisionRange = 125 ShroudClearingRange = 300 Prerequisites Object = Slth_GLAArmsDealer End ExperienceValue = 60 60 120 200 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = GLATankScorpionCommandSet ; *** AUDIO Parameters *** VoiceSelect = ScorpionTankVoiceSelect VoiceMove = ScorpionTankVoiceMove VoiceAttack = ScorpionTankVoiceAttack SoundMoveStart = ScorpionTankMoveStart SoundMoveStartDamaged = ScorpionTankMoveStart VoiceGuard = ScorpionTankVoiceMove UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = ScorpionTankVoiceCreate ;TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop VoiceEnter = ScorpionTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER WEAPON_SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 370.0 InitialHealth = 370.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 740 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 100 RecenterTime = 5000 ; how long to wait during idle before recentering ControlledWeaponSlots = PRIMARY SECONDARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL ScorpionLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = AutoHealBehavior ModuleTag_05 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_06 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_ScorpionTankDeathEffect FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = WeaponSetUpgrade ModuleTag_07 TriggeredBy = Upgrade_GLAScorpionRocket End Behavior = DestroyDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_12 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_13 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 9.0 GeometryHeight = 10.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;GLA Rocket Buggy Object Slth_GLAVehicleRocketBuggy ; *** ART Parameters *** SelectPortrait = SURocketBuggy_L ButtonImage = SURocketBuggy UpgradeCameo1 = Upgrade_GLABuggyAmmo UpgradeCameo2 = Upgrade_GLAAPRockets UpgradeCameo3 = Upgrade_GLAJunkRepair ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UVRockBug Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = REALLYDAMAGED Model = UVRockBug_D Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = RUBBLE Model = UVRockBug_D Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = WEAPONSET_PLAYER_UPGRADE Model = UVRockBug Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB End ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = UVRockBug_D Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB End ConditionState = WEAPONSET_PLAYER_UPGRADE RUBBLE Model = UVRockBug_D Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB End TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:RocketBuggy Side = GLAStealthGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY BuggyRocketWeapon End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY BuggyRocketWeaponUpgraded End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End BuildCost = 900 BuildTime = 10.0 ;in seconds VisionRange = 180 ShroudClearingRange = 300 Prerequisites Object = Slth_GLAArmsDealer Object = Slth_GLAPalace End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = GLAVehicleRocketBuggyCommandSet ; *** AUDIO Parameters *** VoiceSelect = RocketBuggyVoiceSelect VoiceMove = RocketBuggyVoiceMove VoiceAttack = RocketBuggyVoiceAttack SoundMoveStart = RocketBuggyMoveStart SoundMoveStartDamaged = RocketBuggyMoveStart VoiceGuard = RocketBuggyVoiceMove UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = RocketBuggyVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceCrush = RocketBuggyVoiceCrush VoiceEnter = RocketBuggyVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 120 InitialHealth = 120 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 240 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 90 ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL RocketBuggyLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End ; The pop up AirDeath Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 5 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = FINAL OCL_RocketBuggyAirDeathStart End Behavior = AutoHealBehavior ModuleTag_08 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = WeaponSetUpgrade ModuleTag_09 TriggeredBy = Upgrade_GLABuggyAmmo End Behavior = DestroyDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_RocketBuggy_CrushEffect End Behavior = CreateCrateDie ModuleTag_14 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_15 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 13.0 GeometryMinorRadius = 9.0 GeometryHeight = 7.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;GLA Combat Bike Object Slth_GLAVehicleCombatBike ; *** ART Parameters *** SelectPortrait = SUComBike_L ButtonImage = SUComBike UpgradeCameo1 = Upgrade_GLAJunkRepair ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ;Normal Bike ;------------------------------ DefaultConditionState Model = UVComBike WeaponFireFXBone = PRIMARY Muzzle_B WeaponLaunchBone = PRIMARY RocketFX03 WeaponMuzzleFlash = PRIMARY MuzzleFX_B ParticleSysBone = SMOKE CombatBikeSmokeLight HideSubObject = BOMBBIKE ; Hide from all states except terrorist (rider 5) End AliasConditionState RIDER1 AliasConditionState RIDER1 MOVING AliasConditionState RIDER6 AliasConditionState RIDER6 MOVING AliasConditionState RIDER7 AliasConditionState RIDER7 MOVING ConditionState = REALLYDAMAGED Model = UVComBike_d End AliasConditionState RIDER1 REALLYDAMAGED AliasConditionState RIDER1 MOVING REALLYDAMAGED AliasConditionState RIDER6 REALLYDAMAGED AliasConditionState RIDER6 MOVING REALLYDAMAGED AliasConditionState RIDER7 REALLYDAMAGED AliasConditionState RIDER7 MOVING REALLYDAMAGED ConditionState = TOPPLED Model = UVComBike_F Animation = UVComBike_F.UVComBike_F AnimationMode = ONCE End ConditionState = TOPPLED REALLYDAMAGED Model = UVComBike_dF Animation = UVComBike_DF.UVComBike_DF AnimationMode = ONCE End ConditionState = RIDER1 MOVING CENTER_TO_LEFT Model = UVComBike_A1 Animation = UVComBike_A1.UVComBike_A1 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING CENTER_TO_LEFT AliasConditionState RIDER7 MOVING CENTER_TO_LEFT ConditionState = RIDER1 MOVING CENTER_TO_LEFT REALLYDAMAGED Model = UVComBike_A1d Animation = UVComBike_A1D.UVComBike_A1D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING CENTER_TO_LEFT REALLYDAMAGED AliasConditionState RIDER7 MOVING CENTER_TO_LEFT REALLYDAMAGED ConditionState = RIDER1 MOVING LEFT_TO_CENTER Model = UVComBike_A1 Animation = UVComBike_A1.UVComBike_A1 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING LEFT_TO_CENTER AliasConditionState RIDER7 MOVING LEFT_TO_CENTER ConditionState = RIDER1 MOVING LEFT_TO_CENTER REALLYDAMAGED Model = UVComBike_A1d Animation = UVComBike_A1D.UVComBike_A1D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING LEFT_TO_CENTER REALLYDAMAGED AliasConditionState RIDER7 MOVING LEFT_TO_CENTER REALLYDAMAGED ConditionState = RIDER1 MOVING CENTER_TO_RIGHT Model = UVComBike_A2 Animation = UVComBike_A2.UVComBike_A2 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING CENTER_TO_RIGHT AliasConditionState RIDER7 MOVING CENTER_TO_RIGHT ConditionState = RIDER1 MOVING CENTER_TO_RIGHT REALLYDAMAGED Model = UVComBike_A2d Animation = UVComBike_A2D.UVComBike_A2D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING CENTER_TO_RIGHT REALLYDAMAGED AliasConditionState RIDER7 MOVING CENTER_TO_RIGHT REALLYDAMAGED ConditionState = RIDER1 MOVING RIGHT_TO_CENTER Model = UVComBike_A2 Animation = UVComBike_A2.UVComBike_A2 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING RIGHT_TO_CENTER AliasConditionState RIDER7 MOVING RIGHT_TO_CENTER ConditionState = RIDER1 MOVING RIGHT_TO_CENTER REALLYDAMAGED Model = UVComBike_A2d Animation = UVComBike_A2D.UVComBike_A2D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING RIGHT_TO_CENTER REALLYDAMAGED AliasConditionState RIDER7 MOVING RIGHT_TO_CENTER REALLYDAMAGED ;Terror Bike ;------------------------------ ConditionState RIDER5 Model = UVComBike WeaponFireFXBone = PRIMARY Muzzle_B WeaponLaunchBone = PRIMARY RocketFX03 WeaponMuzzleFlash = PRIMARY MuzzleFX_B ParticleSysBone = SMOKE CombatBikeSmokeLight ShowSubObject = BOMBBIKE End AliasConditionState RIDER5 MOVING ConditionState = REALLYDAMAGED RIDER5 Model = UVComBike_d ShowSubObject = BOMBBIKE End AliasConditionState RIDER5 MOVING REALLYDAMAGED ConditionState = TOPPLED RIDER5 Model = UVComBike_F Animation = UVComBike_F.UVComBike_F AnimationMode = ONCE ShowSubObject = BOMBBIKE End ConditionState = TOPPLED REALLYDAMAGED RIDER5 Model = UVComBike_dF Animation = UVComBike_DF.UVComBike_DF AnimationMode = ONCE ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING CENTER_TO_LEFT Model = UVComBike_A1 Animation = UVComBike_A1.UVComBike_A1 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING CENTER_TO_LEFT REALLYDAMAGED Model = UVComBike_A1d Animation = UVComBike_A1D.UVComBike_A1D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING LEFT_TO_CENTER Model = UVComBike_A1 Animation = UVComBike_A1.UVComBike_A1 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING LEFT_TO_CENTER REALLYDAMAGED Model = UVComBike_A1d Animation = UVComBike_A1D.UVComBike_A1D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING CENTER_TO_RIGHT Model = UVComBike_A2 Animation = UVComBike_A2.UVComBike_A2 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING CENTER_TO_RIGHT REALLYDAMAGED Model = UVComBike_A2d Animation = UVComBike_A2D.UVComBike_A2D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING RIGHT_TO_CENTER Model = UVComBike_A2 Animation = UVComBike_A2.UVComBike_A2 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING RIGHT_TO_CENTER REALLYDAMAGED Model = UVComBike_A2d Animation = UVComBike_A2D.UVComBike_A2D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ;Gun Bike ;------------------------------ ConditionState = RIDER2 Model = UVComBikeG End AliasConditionState RIDER2 MOVING AliasConditionState RIDER4 AliasConditionState RIDER4 MOVING ConditionState = RIDER2 REALLYDAMAGED Model = UVComBikeG_d End AliasConditionState RIDER2 MOVING REALLYDAMAGED AliasConditionState RIDER4 REALLYDAMAGED AliasConditionState RIDER4 MOVING REALLYDAMAGED ConditionState = RIDER2 MOVING CENTER_TO_LEFT Model = UVComBikeG Animation = UVComBikeG_A1.UVComBikeG_A1 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING CENTER_TO_LEFT ConditionState = RIDER2 MOVING CENTER_TO_LEFT REALLYDAMAGED Model = UVComBikeG_d Animation = UVComBikeG_A1.UVComBikeG_A1 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING CENTER_TO_LEFT REALLYDAMAGED ConditionState = RIDER2 MOVING LEFT_TO_CENTER Model = UVComBikeG Animation = UVComBikeG_A1.UVComBikeG_A1 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING LEFT_TO_CENTER ConditionState = RIDER2 MOVING LEFT_TO_CENTER REALLYDAMAGED Model = UVComBikeG_d Animation = UVComBikeG_A1.UVComBikeG_A1 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING LEFT_TO_CENTER REALLYDAMAGED ConditionState = RIDER2 MOVING CENTER_TO_RIGHT Model = UVComBikeG Animation = UVComBikeG_A2.UVComBikeG_A2 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING CENTER_TO_RIGHT ConditionState = RIDER2 MOVING CENTER_TO_RIGHT REALLYDAMAGED Model = UVComBikeG_d Animation = UVComBikeG_A2.UVComBikeG_A2 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING CENTER_TO_RIGHT REALLYDAMAGED ConditionState = RIDER2 MOVING RIGHT_TO_CENTER Model = UVComBikeG Animation = UVComBikeG_A2.UVComBikeG_A2 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING RIGHT_TO_CENTER ConditionState = RIDER2 MOVING RIGHT_TO_CENTER REALLYDAMAGED Model = UVComBikeG_d Animation = UVComBikeG_A2.UVComBikeG_A2 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING RIGHT_TO_CENTER REALLYDAMAGED ;Missile Bike ;------------------------------ ConditionState = RIDER3 Model = UVComBikeTN End AliasConditionState RIDER3 MOVING ConditionState = RIDER3 REALLYDAMAGED Model = UVComBikeTN_d End AliasConditionState RIDER3 MOVING REALLYDAMAGED ConditionState = RIDER3 MOVING CENTER_TO_LEFT Model = UVComBikeTN_A1 Animation = UVComBikeTN_A1.UVComBikeTN_A1 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING CENTER_TO_LEFT REALLYDAMAGED Model = UVComBikeTN_A1d Animation = UVComBikeTN_A1D.UVComBikeTN_A1D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING LEFT_TO_CENTER Model = UVComBikeTN_A1 Animation = UVComBikeTN_A1.UVComBikeTN_A1 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING LEFT_TO_CENTER REALLYDAMAGED Model = UVComBikeTN_A1d Animation = UVComBikeTN_A1D.UVComBikeTN_A1D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING CENTER_TO_RIGHT Model = UVComBikeTN_A2 Animation = UVComBikeTN_A2D.UVComBikeTN_A2D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING CENTER_TO_RIGHT REALLYDAMAGED Model = UVComBikeTN_A2d Animation = UVComBikeTN_A2D.UVComBikeTN_A2D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING RIGHT_TO_CENTER Model = UVComBikeTN_A2 Animation = UVComBikeTN_A2.UVComBikeTN_A2 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING RIGHT_TO_CENTER REALLYDAMAGED Model = UVComBikeTN_A2d Animation = UVComBikeTN_A2D.UVComBikeTN_A2D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End TrackMarks = EXTireTrack03.tga Dust = CombatBikeDust DirtSpray = CombatBikeDirtSpray PowerslideSpray = CombatBikeDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 LeftRearTireBone = Tire00 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End Draw = W3DModelDraw ModuleTag_Rider01 OkToChangeModelColor = Yes DefaultConditionState ;************************************************** ;*** Must have a default model in order to see ;*** house color!!! ;************************************************** Model = UIWrkr_SKN ;WeaponFireFXBone = PRIMARY Muzzle ;WeaponLaunchBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX End AliasConditionState MOVING ;Worker animations ;----------------------- ConditionState = RIDER1 Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER1 MOVING Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER1 MOVING CENTER_TO_LEFT Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER1 MOVING LEFT_TO_CENTER Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER1 MOVING CENTER_TO_RIGHT Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER1 MOVING RIGHT_TO_CENTER Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ;Rebel animations ;----------------------- ConditionState = RIDER2 Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER2 MOVING Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER2 MOVING CENTER_TO_LEFT Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER2 MOVING LEFT_TO_CENTER Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER2 MOVING CENTER_TO_RIGHT Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER2 MOVING RIGHT_TO_CENTER Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ;RPG Trooper animations ;----------------------- ConditionState = RIDER3 Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER3 MOVING Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER3 MOVING CENTER_TO_LEFT Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER3 MOVING LEFT_TO_CENTER Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER3 MOVING CENTER_TO_RIGHT Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER3 MOVING RIGHT_TO_CENTER Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ;Jarmen Kell animations ;----------------------- ConditionState = RIDER4 Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER4 MOVING Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER4 MOVING CENTER_TO_LEFT Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER4 MOVING LEFT_TO_CENTER Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER4 MOVING CENTER_TO_RIGHT Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER4 MOVING RIGHT_TO_CENTER Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ;Terrorist animations ;----------------------- ConditionState = RIDER5 Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A5 AnimationMode = LOOP End ConditionState = RIDER5 MOVING Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A4 AnimationMode = LOOP End ConditionState = RIDER5 MOVING CENTER_TO_LEFT Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A1 AnimationMode = ONCE End ConditionState = RIDER5 MOVING LEFT_TO_CENTER Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER5 MOVING CENTER_TO_RIGHT Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A2 AnimationMode = ONCE End ConditionState = RIDER5 MOVING RIGHT_TO_CENTER Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A2 AnimationMode = ONCE_BACKWARDS End ;Hijacker animations ;----------------------- ConditionState = RIDER6 Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER6 MOVING Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER6 MOVING CENTER_TO_LEFT Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER6 MOVING LEFT_TO_CENTER Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER6 MOVING CENTER_TO_RIGHT Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER6 MOVING RIGHT_TO_CENTER Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ;Saboteur animations ;----------------------- ConditionState = RIDER7 Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER7 MOVING Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER7 MOVING CENTER_TO_LEFT Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER7 MOVING LEFT_TO_CENTER Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER7 MOVING CENTER_TO_RIGHT Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER7 MOVING RIGHT_TO_CENTER Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ConditionState = TOPPLED Model = None End AliasConditionState TOPPLED MOVING End ; ***DESIGN parameters *** DisplayName = OBJECT:CombatBike Side = GLAStealthGeneral EditorSorting = VEHICLE TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY NONE End WeaponSet Conditions = WEAPON_RIDER2 Weapon = PRIMARY GLARebelBikerMachineGun End WeaponSet Conditions = WEAPON_RIDER3 Weapon = PRIMARY TunnelDefenderBikerRocketWeapon End WeaponSet Conditions = WEAPON_RIDER4 Weapon = PRIMARY GLABikerKellSniperRifle Weapon = SECONDARY GLAJarmenKellVehiclePilotSniperRifle AutoChooseSources = SECONDARY NONE End WeaponSet ;Kill himself so we can use FireWeaponWhenDead to fire the real weapon -- and use UNRESISTABLE ;damage to do ini logic for type of death to play -- unresistable for success. Conditions = WEAPON_RIDER5 Weapon = PRIMARY TerroristSuicideWeapon End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End BuildCost = 550 BuildTime = 4.0 ;in seconds VisionRange = 180 ShroudClearingRange = 300 Prerequisites Object = Slth_GLAArmsDealer End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience ;CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ;CommandSet = Slth_GLAVehicleCombatBikeCommandSet ****COMMANDSET is overwritten in RiderChangeContain! ; *** AUDIO Parameters *** VoiceSelect = CombatCycleVoiceSelect VoiceMove = CombatCycleVoiceMove VoiceAttack = CombatCycleVoiceAttack SoundMoveStart = CombatBikeMoveStart SoundMoveStartDamaged = CombatBikeMoveStart VoiceGuard = CombatCycleVoiceMove SoundEnter = CombatCycleSwitchRider UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = CombatCycleVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = RocketBuggyLand TruckPowerslideSound = CombatBikeMoveStart VoiceCrush = CombatCycleVoiceMove VoiceEnter = CombatCycleVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE CLIFF_JUMPER Body = ActiveBody ModuleTag_02 MaxHealth = 100 InitialHealth = 100 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 0 ; turn rate, in degrees per sec NaturalTurretAngle = 0 ControlledWeaponSlots = PRIMARY SECONDARY End AutoAcquireEnemiesWhenIdle = No End Locomotor = SET_NORMAL CombatBikeGroundLocomotor CombatBikeCliffLocomotor Locomotor = SET_SLUGGISH CombatBikeTerroristGroundLocomotor CombatBikeTerroristCliffLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 15.0 End Behavior = SlowDeathBehavior DeathTag_04 ExemptStatus = STATUS_RIDER1 STATUS_RIDER2 STATUS_RIDER3 STATUS_RIDER4 STATUS_RIDER5 STATUS_RIDER6 STATUS_RIDER7 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_05 RequiredStatus = STATUS_RIDER1 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = INITIAL OCL_WorkerFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_06 RequiredStatus = STATUS_RIDER2 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = INITIAL OCL_RebelFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_07 RequiredStatus = STATUS_RIDER3 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = INITIAL OCL_TunnelDefenderFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_08 RequiredStatus = STATUS_RIDER4 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = INITIAL OCL_JarmenKellFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_09 RequiredStatus = STATUS_RIDER5 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = INITIAL OCL_TerroristFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_10 RequiredStatus = STATUS_RIDER6 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = INITIAL OCL_HijackerFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_11 RequiredStatus = STATUS_RIDER7 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = INITIAL OCL_SaboteurFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = AutoHealBehavior ModuleTag_08 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = WeaponSetUpgrade ModuleTag_09 TriggeredBy = Upgrade_GLABuggyAmmo End ;Create the hulk after the toppling is complete (not killed until topple anim finished). Behavior = CreateObjectDie ModuleTag_10 DeathTypes = NONE +TOPPLED CreationList = OCL_CombatBike_ToppledHulk End Behavior = DestroyDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED +TOPPLED End ; A crushing defeat Behavior = FXListDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_RocketBuggy_CrushEffect End Behavior = CreateCrateDie ModuleTag_14 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_15 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = RiderChangeContain ModuleTag_16 ;A list of each valid rider that is allowed to ride this object. Each rider is ;assigned a modelcondition state, a weaponset flag, an object status bit, and ;a commandset override. The actual object is hidden inside the container so the ;visible rider is fluff. Also riders are deleted (not killed) when the bike is ;destroyed, so all deaths must be OCLs on the bike. Rider1 = Slth_GLAInfantryWorker RIDER1 WEAPON_RIDER1 STATUS_RIDER1 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL Rider2 = Slth_GLAInfantryRebel RIDER2 WEAPON_RIDER2 STATUS_RIDER2 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL Rider3 = Slth_GLAInfantryTunnelDefender RIDER3 WEAPON_RIDER3 STATUS_RIDER3 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL Rider4 = Slth_GLAInfantryJarmenKell RIDER4 WEAPON_RIDER4 STATUS_RIDER4 GLAVehicleCombatBikeJarmenKellCommandSet SET_NORMAL Rider5 = Slth_GLAInfantryTerrorist RIDER5 WEAPON_RIDER5 STATUS_RIDER5 GLAVehicleCombatBikeDefaultCommandSet SET_SLUGGISH Rider6 = Slth_GLAInfantryHijacker RIDER6 WEAPON_RIDER6 STATUS_RIDER6 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL Rider7 = Slth_GLAInfantrySaboteur RIDER7 WEAPON_RIDER7 STATUS_RIDER7 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL ScuttleDelay = 1500 ScuttleStatus = TOPPLED ;Standard TransportContain stuff Slots = 1 InitialPayload = Slth_GLAInfantryRebel 1 ScatterNearbyOnExit = No HealthRegen%PerSec = 0 DamagePercentToUnits = 100% ; This module will Delete the rider on death, but we need to kill him as well so he doesn't pick up the bike's salvage crate. BurnedDeathToUnits = No ; And no Burned death. AllowInsideKindOf = INFANTRY ExitDelay = 250 NumberOfExitPaths = 1 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting End Behavior = AnimationSteeringUpdate ModuleTag_17 MinTransitionTime = 300 End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death18 RequiredStatus = STATUS_RIDER5 DeathWeapon = SuicideBikeBomb StartsActive = Yes DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED End Behavior = StealthUpdate ModuleTag_19 UseRiderStealth = Yes ;StealthDelay = 2000 ; msec ;StealthForbiddenConditions = ATTACKING ;InnateStealth = Yes ;OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 11.0 GeometryMinorRadius = 2.5 GeometryHeight = 7.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Slth_GLAVehicleQuadCannon ; *** ART Parameters *** SelectPortrait = SUQuadCannon_L ButtonImage = SUQuadCannon UpgradeCameo1 = Upgrade_GLAAPBullets UpgradeCameo2 = Upgrade_GLAJunkRepair ;UpgradeCameo3 = XXX ;UpgradeCameo4 = XXX ;UpgradeCameo5 = XXX Draw = W3DTankTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UVQuadCann Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY BarrelMS WeaponMuzzleFlash = PRIMARY BarrelFX WeaponRecoilBone = PRIMARY Barrel WeaponFireFXBone = SECONDARY BarrelMS WeaponMuzzleFlash = SECONDARY BarrelFX WeaponRecoilBone = SECONDARY Barrel ShowSubObject = TURRET HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04 ; Since we are showing one of three turrets, we need to then hide the subobject muzzleflash End ConditionState = REALLYDAMAGED Model = UVQuadCann_D Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY BarrelMS WeaponMuzzleFlash = PRIMARY BarrelFX WeaponRecoilBone = PRIMARY Barrel WeaponFireFXBone = SECONDARY BarrelMS WeaponMuzzleFlash = SECONDARY BarrelFX WeaponRecoilBone = SECONDARY Barrel ShowSubObject = TURRET HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04 End ConditionState = RUBBLE Model = UVQuadCann_D Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY BarrelMS WeaponMuzzleFlash = PRIMARY BarrelFX WeaponRecoilBone = PRIMARY Barrel WeaponFireFXBone = SECONDARY BarrelMS WeaponMuzzleFlash = SECONDARY BarrelFX WeaponRecoilBone = SECONDARY Barrel ShowSubObject = TURRET HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE Model = UVQuadCann Turret = TURRETUP01 TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponRecoilBone = PRIMARY BarrelUp01 WeaponFireFXBone = SECONDARY BarrelUp01MS WeaponMuzzleFlash = SECONDARY BarrelUp01FX WeaponRecoilBone = SECONDARY BarrelUp01 ShowSubObject = TURRETUP01 HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED Model = UVQuadCann Turret = TURRETUP01 TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponRecoilBone = PRIMARY BarrelUp01 WeaponFireFXBone = SECONDARY BarrelUp01MS WeaponMuzzleFlash = SECONDARY BarrelUp01FX WeaponRecoilBone = SECONDARY BarrelUp01 ShowSubObject = TURRETUP01 HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE Model = UVQuadCann Turret = TURRETUP01 TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponRecoilBone = PRIMARY BarrelUp01 WeaponFireFXBone = SECONDARY BarrelUp01MS WeaponMuzzleFlash = SECONDARY BarrelUp01FX WeaponRecoilBone = SECONDARY BarrelUp01 ShowSubObject = TURRETUP01 HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO Model = UVQuadCann Turret = TURRETUP02 TurretPitch = TURRETEL02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponRecoilBone = PRIMARY BarrelUp02 WeaponFireFXBone = SECONDARY BarrelUp02MS WeaponMuzzleFlash = SECONDARY BarrelUp02FX WeaponRecoilBone = SECONDARY BarrelUp02 ShowSubObject = TURRETUP02 HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED Model = UVQuadCann_D Turret = TURRETUP02 TurretPitch = TURRETEL02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponRecoilBone = PRIMARY BarrelUp02 WeaponFireFXBone = SECONDARY BarrelUp02MS WeaponMuzzleFlash = SECONDARY BarrelUp02FX WeaponRecoilBone = SECONDARY BarrelUp02 ShowSubObject = TURRETUP02 HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE Model = UVQuadCann_D Turret = TURRETUP02 TurretPitch = TURRETEL02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponRecoilBone = PRIMARY BarrelUp02 WeaponFireFXBone = SECONDARY BarrelUp02MS WeaponMuzzleFlash = SECONDARY BarrelUp02FX WeaponRecoilBone = SECONDARY BarrelUp02 ShowSubObject = TURRETUP02 HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04 End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This unit doesn't powerslide. End ; ***DESIGN parameters *** DisplayName = OBJECT:QuadCannon Side = GLAStealthGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY QuadCannonGun Weapon = SECONDARY QuadCannonGunAir End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY QuadCannonGunUpgradeOne Weapon = SECONDARY QuadCannonGunUpgradeOneAir End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY QuadCannonGunUpgradeTwo Weapon = SECONDARY QuadCannonGunUpgradeTwoAir End ArmorSet Conditions = None Armor = QuadCannonArmor DamageFX = TankDamageFX End BuildCost = 700 BuildTime = 6.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Slth_GLAArmsDealer End CommandSet = Slth_GLAVehicleQuadCannon ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = QuadCannonVoiceSelect VoiceMove = QuadCannonVoiceMove VoiceAttack = QuadCannonVoiceAttack VoiceAttackAir = QuadCannonVoiceAttackAir SoundMoveStart = QuadCannonMoveStart SoundMoveStartDamaged = QuadCannonMoveStart VoiceGuard = QuadCannonVoiceMove UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = QuadCannonVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = NoSound TruckPowerslideSound = NoSound VoiceSalvage = QuadCannonVoiceSalvage VoiceCrush = QuadCannonVoiceCrush VoiceEnter = QuadCannonVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 440 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 360 TurretPitchRate = 360 AllowsPitch = Yes ControlledWeaponSlots = PRIMARY SECONDARY End AutoAcquireEnemiesWhenIdle = Yes Stealthed MoodAttackCheckRate = 250 End Locomotor = SET_NORMAL QuadCannonLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 40.0 End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 411 DestructionDelay = 150 DestructionDelayVariance = 250 OCL = FINAL OCL_QuadCannonDeathEffect FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = AutoHealBehavior ModuleTag_06 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = FlammableUpdate ModuleTag_08 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_09 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End ; A crushing defeat Behavior = FXListDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_11 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = WeaponBonusUpgrade ModuleTag_12 TriggeredBy = Upgrade_GLAAPBullets End Behavior = DestroyDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED End Geometry = BOX GeometryMajorRadius = 18.0 GeometryMinorRadius = 7.0 GeometryHeight = 11.5 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;Also called Toxin Tractor && ToxinTractor Object Slth_GLAVehicleToxinTruck ; *** ART Parameters *** SelectPortrait = SUToxinTractor_L ButtonImage = SUToxinTractor UpgradeCameo1 = Upgrade_GLAAnthraxBeta UpgradeCameo2 = Upgrade_GLAJunkRepair ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UVToxinTrk Turret = Turret TurretPitch = TurretEL ShowSubObject = Turret HideSubObject = TurretUP01 TurretUP02 WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA WeaponFireFXBone = SECONDARY Spigot WeaponLaunchBone = SECONDARY Spigot End AliasConditionState WEAPONSET_PLAYER_UPGRADE ConditionState = USING_WEAPON_B Model = UVToxinTrk ParticleSysBone = none ToxinPuddleContinuous END ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE Model = UVToxinTrk ParticleSysBone = none AnthraxPuddleContinuous END ConditionState = REALLYDAMAGED Model = UVToxinTrk_D End AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE AliasConditionState RUBBLE AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE ConditionState = USING_WEAPON_B REALLYDAMAGED Model = UVToxinTrk_D ParticleSysBone = none ToxinPuddleContinuous END ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE Model = UVToxinTrk_D ParticleSysBone = none AnthraxPuddleContinuous END ; -------------- Turret change #1 ConditionState = WEAPONSET_CRATEUPGRADE_ONE Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB End AliasConditionState WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE ConditionState = USING_WEAPON_B WEAPONSET_CRATEUPGRADE_ONE Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB ParticleSysBone = none ToxinPuddleContinuous END ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB ParticleSysBone = none AnthraxPuddleContinuous END ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE Model = UVToxinTrk_D Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB End AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE AliasConditionState RUBBLE WEAPONSET_CRATEUPGRADE_ONE AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE WEAPONSET_CRATEUPGRADE_ONE ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE Model = UVToxinTrk_D Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB ParticleSysBone = none ToxinPuddleContinuous END ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE Model = UVToxinTrk_D Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB ParticleSysBone = none AnthraxPuddleContinuous END ; -------------- Turret change #2 ConditionState = WEAPONSET_CRATEUPGRADE_TWO Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC End AliasConditionState WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO ConditionState = USING_WEAPON_B WEAPONSET_CRATEUPGRADE_TWO Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC ParticleSysBone = none ToxinPuddleContinuous END ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC ParticleSysBone = none AnthraxPuddleContinuous END ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO Model = UVToxinTrk_D Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC End AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO AliasConditionState RUBBLE WEAPONSET_CRATEUPGRADE_TWO AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE WEAPONSET_CRATEUPGRADE_TWO ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO Model = UVToxinTrk_D Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC ParticleSysBone = none ToxinPuddleContinuous END ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO Model = UVToxinTrk_D Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC ParticleSysBone = none AnthraxPuddleContinuous END TrackMarks = EXTireTrack.tga LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray End ; ***DESIGN parameters *** DisplayName = OBJECT:ToxinTruck Side = GLAStealthGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY ToxinTruckGun Weapon = SECONDARY ToxinTruckSprayer AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY ToxinTruckGunUpgraded Weapon = SECONDARY ToxinTruckSprayerUpgraded AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY ToxinTruckGunPlusOne Weapon = SECONDARY ToxinTruckSprayerPlusOne AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = CRATEUPGRADE_ONE PLAYER_UPGRADE Weapon = PRIMARY ToxinTruckGunUpgradedPlusOne Weapon = SECONDARY ToxinTruckSprayerUpgradedPlusOne AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY ToxinTruckGunPlusTwo Weapon = SECONDARY ToxinTruckSprayerPlusTwo AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = CRATEUPGRADE_TWO PLAYER_UPGRADE Weapon = PRIMARY ToxinTruckGunUpgradedPlusTwo Weapon = SECONDARY ToxinTruckSprayerUpgradedPlusTwo AutoChooseSources = SECONDARY NONE ;Special attack only End ArmorSet Conditions = None Armor = ToxinTruckArmor DamageFX = TruckDamageFX End BuildCost = 600 BuildTime = 5.0 ;in seconds VisionRange = 100 ShroudClearingRange = 200 Prerequisites Object = Slth_GLAArmsDealer End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = GLAVehicleToxinTruckCommandSet ; *** AUDIO Parameters *** VoiceSelect = ToxinTractorVoiceSelect VoiceMove = ToxinTractorVoiceMove VoiceGuard = ToxinTractorVoiceMove VoiceAttack = ToxinTractorVoiceAttack SoundMoveStart = ToxinTractorMoveStart SoundMoveStartDamaged = ToxinTractorMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = ToxinTractorVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = NoSound TruckPowerslideSound = NoSound VoiceCrush = ToxinTractorVoiceCrush VoiceEnter = ToxinTractorVoiceMove VoicePoisonLocation = ToxinTractorVoiceAttackContam End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER WEAPON_SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes Turret TurretTurnRate = 180 TurretPitchRate = 180 AllowsPitch = Yes MinPhysicalPitch = -20 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) TurretFireAngleSweep = PRIMARY 8 TurretSweepSpeedModifier = PRIMARY 0.5 ; Sweep slower than you turn ControlledWeaponSlots = PRIMARY End End Locomotor = SET_NORMAL ToxinTruckLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 5 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 0 DestructionDelayVariance = 200 FX = INITIAL FX_ToxinTractorDie OCL = INITIAL OCL_ToxinTractorDeathEffect FX = FINAL FX_ToxinTruckExplosionOneFinal End Behavior = InstantDeathBehavior ModuleTag_06 DeathTypes = NONE +CRUSHED +SPLATTED FX = FX_CarCrush OCL = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_07 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = WeaponSetUpgrade ModuleTag_08 ; the Toxin Tractor gets this upgrade if we either buy the upgrade, ; or if it gets HEROIC status TriggeredBy = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC End Behavior = TransitionDamageFX ModuleTag_11 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = AutoHealBehavior ModuleTag_12 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = FireOCLAfterWeaponCooldownUpdate ModuleTag_13 WeaponSlot = SECONDARY ConflictsWith = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC OCL = OCL_PoisonFieldMedium MinShotsToCreateOCL = 4 OCLLifetimePerSecond = 10000 OCLLifetimeMaxCap = 180000 End Behavior = FireOCLAfterWeaponCooldownUpdate ModuleTag_14 WeaponSlot = SECONDARY TriggeredBy = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC OCL = OCL_PoisonFieldUpgradedMedium MinShotsToCreateOCL = 4 OCLLifetimePerSecond = 10000 OCLLifetimeMaxCap = 180000 End Behavior = FireWeaponWhenDeadBehavior ModuleTag_15 ;These two make the right damage field at death DeathWeapon = ToxinShellWeapon StartsActive = Yes ConflictsWith = Upgrade_GLAAnthraxBeta End Behavior = FireWeaponWhenDeadBehavior ModuleTag_16 DeathWeapon = ToxinShellWeaponUpgraded StartsActive = No TriggeredBy = Upgrade_GLAAnthraxBeta End Geometry = BOX GeometryMajorRadius = 13.0 GeometryMinorRadius = 9.0 GeometryHeight = 10.0 ; set to make the projectile stream look right GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Slth_GLAVehicleBombTruck ; *** ART Parameters *** SelectPortrait = SUBombTruck_L ButtonImage = SUBombTruck UpgradeCameo1 = Upgrade_GLABombTruckHighExplosiveBomb UpgradeCameo2 = Upgrade_GLABombTruckBioBomb UpgradeCameo3 = Upgrade_GLAJunkRepair ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes TrackMarks = EXTireTrack.tga DefaultConditionState Model = UVBMBTRUK Animation = UVBMBTRUK.UVBMBTRUK AnimationMode = LOOP ;Display the default bombload -- and the upgrades will handle the rest! HideSubObject = Bombload02 Bombload03 Bombload04 End ConditionState = REALLYDAMAGED Model = UVBMBTRUK_D Animation = UVBMBTRUK_D.UVBMBTRUK_D AnimationMode = LOOP End ConditionState = RUBBLE Model = UVBMBTRUK_D End LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 MidLeftFrontTireBone = Tire03 MidRightFrontTireBone = Tire04 LeftRearTireBone = Tire05 RightRearTireBone = Tire06 TireRotationMultiplier = 0.2 ; this * speed = rotation. Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide End ; ***DESIGN parameters *** DisplayName = OBJECT:BombTruck Side = GLAStealthGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TruckDamageFX End BuildCost = 1200 BuildTime = 15.0 ;in seconds VisionRange = 150 ; Used in attack move targeting ShroudClearingRange = 200 Prerequisites Object = Slth_GLAArmsDealer Object = Slth_GLAPalace End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Slth_GLAVehicleBombTruckCommandSet ; *** AUDIO Parameters *** VoiceSelect = BombTruckVoiceSelect VoiceMove = BombTruckVoiceMove VoiceGuard = BombTruckVoiceMove VoiceAttack = BombTruckVoiceAttack SoundMoveStart = BombTruckMoveStart SoundMoveStartDamaged = BombTruckMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = BombTruckVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = NoSound TruckLandingSound = RocketBuggyLand TruckPowerslideSound = NoSound DisguiseStarted = BombTruckDisguiseStarted DisguiseRevealedSuccess = BombTruckDisguiseRevealedSuccess DisguiseRevealedFailure = BombTruckDisguiseRevealedFailure VoiceEnter = BombTruckVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE DISGUISER CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 220.0 InitialHealth = 220.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 440 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End ExperienceValue = 50 50 50 50 ; Experience point value at each level IsTrainable = No ;Kris: Um, bomb trucks don't gain experience. ;Behavior = VeterancyGainCreate ModuleTag_03 ; StartingLevel = VETERAN ;End Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = No ATTACK_BUILDINGS End Locomotor = SET_NORMAL BombTruckLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 40.0 End Behavior = AutoHealBehavior ModuleTag_06 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = ProductionUpdate ModuleTag_07 ; nothing End Behavior = SlowDeathBehavior ModuleTag_08 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 5 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 0 DestructionDelayVariance = 200 FX = FINAL FX_BuggyNewDeathExplosion OCL = FINAL OCL_BombTruckDeathEffect End ;Behavior = DestroyDie ;nothing ;End ;************************************************************************************************ ;* WHICH BOMB DO WE USE??? ;* We have 2 damage possibilities -- (normal OR high explosive) ;* So part 1 is inflicting the damage itself without creating effects ;* The complicated part is the part where we have 6 possible effect explosions based on ;* all the possible upgrade combinations. Note that bio weapons don't inflict damage through ;* the explosion. ;* ;* DAMAGE COMBINATIONS (NO EFFECTS): ;* 1) Normal (doesn't have high explosive upgrade) ;* 2) High explosive (has high-explosive upgrade) ;* ;* EFFECT COMBINATIONS (NO DAMAGE): ;* 1) Normal (no upgrades) ;* 2) Bio (bio-bomb upgrade) ;* 3) Anthrax (bio-bomb and anthrax upgrade) ;* 4) High explosive (high explosive upgrade) ;* 5) High explosive bio (high explosive and bio-bomb upgrade) ;* 6) High explosive anthrax (high explosive, bio-bomb, and anthrax upgrades) ;************************************************************************************************ ;************************************************************************************************ ;* EXCLUSIVE DAMAGE POSSIBILITY 1 -- Normal explosion (can't have high-explosive upgrade) ;************************************************************************************************ Behavior = FireWeaponWhenDeadBehavior ModuleTag_09 DeathWeapon = BombTruckDefaultBombDamage StartsActive = Yes ; turned on by upgrade ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb End ;************************************************************************************************ ;* EXCLUSIVE DAMAGE POSSIBILITY 2 -- High explosion (always plays if it has high-explosive upgrade) ;************************************************************************************************ Behavior = FireWeaponWhenDeadBehavior ModuleTag_10 DeathWeapon = BombTruckHighExplosionBombDamage StartsActive = No ; turned on by upgrade TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb End ;************************************************************************************************ ;* EXCLUSIVE EFFECT COMBINATION 1 - Regular explosion (no upgrades) ;************************************************************************************************ Behavior = FireWeaponWhenDeadBehavior ModuleTag_11 DeathWeapon = BombTruckDefaultBombEffect StartsActive = Yes ; turned on by upgrade ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLABombTruckBioBomb End ;************************************************************************************************ ;* EXCLUSIVE EFFECT COMBINATION 2 - Bio explosion ;* Requires: Bio upgrade ;* Can't have: Anthrax upgrade, high explosive upgrade ;************************************************************************************************ Behavior = FireWeaponWhenDeadBehavior ModuleTag_12 DeathWeapon = BombTruckBioBombEffect StartsActive = No ; turned on by upgrade TriggeredBy = Upgrade_GLABombTruckBioBomb ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLAAnthraxBeta RequiresAllTriggers = Yes End ;************************************************************************************************ ;* EXCLUSIVE EFFECT COMBINATION 3 - Anthrax explosion ;* Requires: Bio upgrade and anthrax upgrade ;* Can't have: High explosive upgrade ;************************************************************************************************ Behavior = FireWeaponWhenDeadBehavior ModuleTag_13 DeathWeapon = BombTruckAnthraxBombEffect StartsActive = No ; turned on by upgrade TriggeredBy = Upgrade_GLABombTruckBioBomb Upgrade_GLAAnthraxBeta ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb RequiresAllTriggers = Yes End ;************************************************************************************************ ;* EXCLUSIVE EFFECT COMBINATION 4 - High explosion ;* Requires: High explosive upgrade ;* Can't have: Bio upgrade and anthrax upgrade ;************************************************************************************************ Behavior = FireWeaponWhenDeadBehavior ModuleTag_14 DeathWeapon = BombTruckHighExplosiveBombEffect StartsActive = No ; turned on by upgrade TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb ConflictsWith = Upgrade_GLABombTruckBioBomb RequiresAllTriggers = Yes End ;************************************************************************************************ ;* EXCLUSIVE EFFECT COMBINATION 5 - High explosive bio explosion ;* Requires: High explosive upgrade and bio upgrade ;* Can't have: Anthrax upgrade ;************************************************************************************************ Behavior = FireWeaponWhenDeadBehavior ModuleTag_15 DeathWeapon = BombTruckHighExplosiveBioBombEffect StartsActive = No ; turned on by upgrade TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLABombTruckBioBomb ConflictsWith = Upgrade_GLAAnthraxBeta RequiresAllTriggers = Yes End ;************************************************************************************************ ;* EXCLUSIVE EFFECT COMBINATION 6 - High explosive Anthrax explosion ;* Requires: High explosive, Bio, and anthrax upgrade ;************************************************************************************************ Behavior = FireWeaponWhenDeadBehavior ModuleTag_16 DeathWeapon = BombTruckHighExplosiveAnthraxBombEffect StartsActive = No ; turned on by upgrade TriggeredBy = Upgrade_GLABombTruckBioBomb Upgrade_GLABombTruckHighExplosiveBomb Upgrade_GLAAnthraxBeta RequiresAllTriggers = Yes End ;------------------------------------------------------------------- ; Now we get to display the payload based on upgrades!!! ;------------------------------------------------------------------- Behavior = SubObjectsUpgrade ModuleTag_17 ;*** Bio bomb load *** TriggeredBy = Upgrade_GLABombTruckBioBomb ConflictsWith = Upgrade_GLABombTruckHighExplosiveBomb ShowSubObjects = Bombload02 HideSubObjects = Bombload01 Bombload03 Bombload04 End Behavior = SubObjectsUpgrade ModuleTag_18 ;*** High-explosive bomb load *** TriggeredBy = Upgrade_GLABombTruckHighExplosiveBomb ConflictsWith = Upgrade_GLABombTruckBioBomb ShowSubObjects = Bombload03 HideSubObjects = Bombload01 Bombload02 Bombload04 End Behavior = SubObjectsUpgrade ModuleTag_19 ;*** High-explosive bio bomb load *** TriggeredBy = Upgrade_GLABombTruckBioBomb Upgrade_GLABombTruckHighExplosiveBomb ShowSubObjects = Bombload04 HideSubObjects = Bombload01 Bombload02 Bombload03 RequiresAllTriggers = Yes End ;------------------------------------------------------------------- Behavior = SpecialAbility ModuleTag_20 SpecialPowerTemplate = SpecialAbilityDisguiseAsVehicle UpdateModuleStartsAttack = Yes InitiateSound = BombTruckVoiceDisguise End Behavior = SpecialAbilityUpdate ModuleTag_21 SpecialPowerTemplate = SpecialAbilityDisguiseAsVehicle StartAbilityRange = 1000000.0 ApproachRequiresLOS = No End Behavior = StealthUpdate ModuleTag_22 StealthDelay = 1 DisguisesAsTeam = Yes RevealDistanceFromTarget = 100.0f OrderIdleEnemiesToAttackMeUponReveal = Yes DisguiseFX = FX_BombTruckDisguise DisguiseRevealFX = FX_BombTruckDisguiseReveal InnateStealth = Yes DisguiseTransitionTime = 2000 DisguiseRevealTransitionTime = 1000 End ; A crushing defeat Behavior = FXListDie ModuleTag_23 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_24 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_25 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_26 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_28 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = DestroyDie ModuleTag_29 DeathTypes = NONE +CRUSHED +SPLATTED End Geometry = BOX GeometryMajorRadius = 19.0 GeometryMinorRadius = 8.0 GeometryHeight = 11.5 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Slth_GLAVehicleScudLauncher ; *** ART Parameters *** SelectPortrait = SUScudLauncher_L ButtonImage = SUScudLauncher UpgradeCameo1 = Upgrade_GLAJunkRepair UpgradeCameo2 = Upgrade_GLAAnthraxBeta ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ProjectileBoneFeedbackEnabledSlots = PRIMARY SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset DefaultConditionState Model = UVScudLchr Turret = TURRET TurretPitch = TURRETEL ShowSubObject = TURRET HideSubObject = TURRETUP01 TURRETUP02 WeaponLaunchBone = PRIMARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ConditionState = REALLYDAMAGED Model = UVScudLchr_d End AliasConditionState = RUBBLE ConditionState = WEAPONSET_CRATEUPGRADE_ONE Model = UVScudLchr Turret = TURRETUP01 TurretPitch = TURRETEL01 ShowSubObject = TURRETUP01 HideSubObject = TURRET TURRETUP02 WeaponLaunchBone = PRIMARY WeaponB WeaponLaunchBone = SECONDARY WeaponB End ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED Model = UVScudLchr_d Turret = TURRETUP01 TurretPitch = TURRETEL01 ShowSubObject = TURRETUP01 HideSubObject = TURRET TURRETUP02 WeaponLaunchBone = PRIMARY WeaponB WeaponLaunchBone = SECONDARY WeaponB End ConditionState = WEAPONSET_CRATEUPGRADE_TWO Model = UVScudLchr Turret = TURRETUP02 TurretPitch = TURRETEL02 ShowSubObject = TURRETUP02 HideSubObject = TURRET TURRETUP01 WeaponLaunchBone = PRIMARY WeaponC WeaponLaunchBone = SECONDARY WeaponC End ConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED Model = UVScudLchr_d Turret = TURRETUP02 TurretPitch = TURRETEL02 ShowSubObject = TURRETUP02 HideSubObject = TURRET TURRETUP01 WeaponLaunchBone = PRIMARY WeaponC WeaponLaunchBone = SECONDARY WeaponC End TrackMarks = EXTireTrack.tga Dust = ScudLauncherDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire05 LeftRearTireBone = Tire04 RightRearTireBone = Tire08 MidLeftFrontTireBone = Tire02 MidRightFrontTireBone = Tire06 MidLeftRearTireBone = Tire03 MidRightRearTireBone = Tire07 TireRotationMultiplier = 0.2 ; this * speed = rotation. ;PowerslideRotationAddition = 0.0 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:ScudLauncher Side = GLAStealthGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY SCUDLauncherGunExplosive Weapon = SECONDARY SCUDLauncherGunToxin AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI PreferredAgainst = SECONDARY INFANTRY ShareWeaponReloadTime = Yes End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY SCUDLauncherGunExplosive Weapon = SECONDARY SCUDLauncherGunAnthrax AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI PreferredAgainst = SECONDARY INFANTRY ShareWeaponReloadTime = Yes WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY SCUDLauncherGunExplosivePlusOne Weapon = SECONDARY SCUDLauncherGunToxinPlusOne AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI PreferredAgainst = SECONDARY INFANTRY ShareWeaponReloadTime = Yes WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock End WeaponSet Conditions = PLAYER_UPGRADE CRATEUPGRADE_ONE Weapon = PRIMARY SCUDLauncherGunExplosivePlusOne Weapon = SECONDARY SCUDLauncherGunAnthraxPlusOne AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI PreferredAgainst = SECONDARY INFANTRY ShareWeaponReloadTime = Yes WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY SCUDLauncherGunExplosivePlusTwo Weapon = SECONDARY SCUDLauncherGunToxinPlusTwo AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI PreferredAgainst = SECONDARY INFANTRY ShareWeaponReloadTime = Yes WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock End WeaponSet Conditions = PLAYER_UPGRADE CRATEUPGRADE_TWO Weapon = PRIMARY SCUDLauncherGunExplosivePlusTwo Weapon = SECONDARY SCUDLauncherGunAnthraxPlusTwo AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI PreferredAgainst = SECONDARY INFANTRY ShareWeaponReloadTime = Yes WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End BuildCost = 1200 BuildTime = 15.0 ;in seconds VisionRange = 180 ShroudClearingRange = 300 Prerequisites Object = Slth_GLAArmsDealer Object = Slth_GLAPalace Science = SCIENCE_ScudLauncher End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Slth_GLAVehicleScudLauncherCommandSet ; *** AUDIO Parameters *** VoiceSelect = ScudLauncherVoiceSelect VoiceMove = ScudLauncherVoiceMove VoiceGuard = ScudLauncherVoiceMove VoiceAttack = ScudLauncherVoiceAttack SoundMoveStart = ScudLauncherMoveStart SoundMoveStartDamaged = ScudLauncherMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = ScudLauncherVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = NoSound TruckPowerslideSound = NoSound VoiceCrush = ScudLauncherVoiceCrush VoiceEnter = ScudLauncherVoiceMove VoicePrimaryWeaponMode = ScudLauncherVoiceModeHiEx VoiceSecondaryWeaponMode = ScudLauncherVoiceModeAnthrax End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY CAN_CAST_REFLECTIONS VEHICLE SALVAGER WEAPON_SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 180.0 InitialHealth = 180.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 360 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 60 ; turn rate, in degrees per sec TurretPitchRate = 60 FirePitch = 90 ; Instead of aiming pitchwise at the target, it will aim here AllowsPitch = Yes ControlledWeaponSlots = PRIMARY SECONDARY End AutoAcquireEnemiesWhenIdle = No NotWhileAttacking End Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. End Locomotor = SET_NORMAL ScudLauncherLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 40.0 End Behavior = AutoHealBehavior ModuleTag_06 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ScudLauncherDamageTransition End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_09 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_SCUDLauncherDeathEffect FX = FINAL FX_ScudLauncherExplosionOneFinal End ; A crushing defeat Behavior = FXListDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag SalvageData CrateData = SalvageCrateData End Behavior = CreateObjectDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = DestroyDie ModuleTag_22 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = WeaponSetUpgrade ModuleTag_23 TriggeredBy = Upgrade_GLAAnthraxBeta End Behavior = LockWeaponCreate ModuleTag_24 SlotToLock = PRIMARY ; Prevents indeterminate state plus two unpickable weapons equaling no attack. End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 11.5 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ; this unit is never really "built"; building one triggers the random building of ; one of the other chassis. If you want a *specific* chassis, choose it explicitly; ; if you want a chassis at random, specify this. Object Slth_GLAVehicleTechnical ; *** ART Parameters *** SelectPortrait = SUTechnical_L ButtonImage = SUTechnical Draw = W3DModelDraw ModuleTag_01 DefaultConditionState ; give it a model so it'll show up in WB Model = UVTechTrck End End ; set cost and time fields here or else they won't work BuildCost = 500 BuildTime = 5.0 ;in seconds ; Needed to get the Veterancy Overlays on top of the Technical with his build variations. ;------------------------------------------------------------ Behavior = VeterancyGainCreate ModuleTag_03 StartingLevel = VETERAN ScienceRequired = SCIENCE_TechnicalTraining End Side = GLAStealthGeneral EditorSorting = VEHICLE BuildVariations = GLAVehicleTechnicalChassisOne GLAVehicleTechnicalChassisTwo GLAVehicleTechnicalChassisThree KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE TRANSPORT End ;------------------------------------------------------------------------------ Object Slth_GLAVehicleTechnicalChassisOne ; *** ART Parameters *** SelectPortrait = SUTechnical_L ButtonImage = SUTechnical UpgradeCameo1 = Upgrade_GLAAPBullets UpgradeCameo2 = Upgrade_GLAJunkRepair ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 ExtraPublicBone = Dum_Turret DefaultConditionState Model = UVTechTrck End ConditionState = REALLYDAMAGED Model = UVTechTrck_d End ConditionState = RUBBLE Model = UVTechTrck_d End OkToChangeModelColor = Yes TrackMarks = EXTireTrack.tga Dust = TechnicalDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes AttachToBoneInAnotherModule = Dum_Turret ; ------------------ basic technical ------------------------ DefaultConditionState Model = UITech_SKN Turret = Dum-TurManMVR TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = MOVING Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End AliasConditionState = TURRET_ROTATE MOVING AliasConditionState = TURRET_ROTATE FIRING_A AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE RELOADING_A AliasConditionState = TURRET_ROTATE MOVING FIRING_A AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE MOVING RELOADING_A ConditionState = FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = BETWEEN_FIRING_SHOTS_A AliasConditionState = RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_ONE IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_TWO IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A End ; ***DESIGN parameters *** DisplayName = OBJECT:Technical Side = GLAStealthGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY TechnicalMachineGunWeapon End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY TechnicalCannonWeapon End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY TechnicalRPGWeapon End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TruckDamageFX End ;update cost and time fields in Object GLAVehicleTechnical, or else they won't work ;BuildCost = 300 ;BuildTime = 5.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Slth_GLAArmsDealer End ExperienceValue = 25 25 50 100 ;Experience point value at each level ExperienceRequired = 0 50 75 150 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = GLAVehicleTechnicalCommandSet ; *** AUDIO Parameters *** VoiceSelect = TechnicalVoiceSelect VoiceMove = TechnicalVoiceMove VoiceGuard = TechnicalVoiceMove VoiceAttack = TechnicalVoiceAttack SoundMoveStart = TechnicalMoveStart SoundMoveStartDamaged = TechnicalMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = TechnicalVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceSalvage = TechnicalVoiceSalvage VoiceCrush = TechnicalVoiceCrush VoiceUnload = TechnicalVoiceUnload VoiceEnter = TechnicalVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE TRANSPORT Behavior = VeterancyGainCreate ModuleTag_03 StartingLevel = VETERAN ScienceRequired = SCIENCE_TechnicalTraining End Body = ActiveBody ModuleTag_04 MaxHealth = 180 InitialHealth = 180 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 360 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_05 Turret TurretTurnRate = 240 ; turn rate, in degrees per sec NaturalTurretAngle = 0 MinIdleScanAngle = 30 ; in degrees off the natural turret angle MaxIdleScanAngle = 60 ; in degrees off the natural turret angle MinIdleScanInterval = 5000 ; in milliseconds MaxIdleScanInterval = 10000 ; in milliseconds ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL TechnicalLocomotor Behavior = PhysicsBehavior ModuleTag_06 Mass = 40.0 End Behavior = AutoHealBehavior ModuleTag_07 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = FlammableUpdate ModuleTag_09 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_10 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = DestroyDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_TechnicalJeep_CrushEffect End Behavior = CreateCrateDie ModuleTag_14 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = SlowDeathBehavior ModuleTag_15 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 500 DestructionDelayVariance = 1500 OCL = INITIAL OCL_TechnicalAirDeathStart FX = INITIAL FX_TechnicalAirDeathGroundPart OCL = FINAL OCL_RocketBuggyAirDeath FX = FINAL FX_RocketBuggyAirDeathAirPart ; This happens in the air End Behavior = TransportContain ModuleTag_16 Slots = 5 AllowInsideKindOf = INFANTRY DamagePercentToUnits = 10% GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting End Behavior = WeaponBonusUpgrade ModuleTag_17 ; Not a full weapon set switch, just a number tweak reflected in a weapon. TriggeredBy = Upgrade_GLAAPBullets End Geometry = BOX GeometryMajorRadius = 18.0 GeometryMinorRadius = 9.0 GeometryHeight = 7.5 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ObjectReskin Slth_GLAVehicleTechnicalChassisTwo Slth_GLAVehicleTechnicalChassisOne ; *** ART Parameters *** Draw = W3DTruckDraw ModuleTag_01 ExtraPublicBone = Dum_Turret DefaultConditionState Model = UVTechVan End ConditionState = REALLYDAMAGED Model = UVTechVan_d End ConditionState = RUBBLE Model = UVTechVan_d End OkToChangeModelColor = Yes TrackMarks = EXTireTrack.tga Dust = TechnicalDust ;DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes AttachToBoneInAnotherModule = Dum_Turret ; ------------------ basic technical ------------------------ DefaultConditionState Model = UITech_SKN Turret = Dum-TurManMVR TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = MOVING Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End AliasConditionState = TURRET_ROTATE MOVING AliasConditionState = TURRET_ROTATE FIRING_A AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE RELOADING_A AliasConditionState = TURRET_ROTATE MOVING FIRING_A AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE MOVING RELOADING_A ConditionState = FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = BETWEEN_FIRING_SHOTS_A AliasConditionState = RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_ONE IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_TWO IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A End ; Behavior = CreateObjectDie ModuleTag_13 ; DeathTypes = NONE +CRUSHED +SPLATTED ; CreationList = OCL_TechnicalVan_CrushEffect ; End Geometry = BOX GeometryMajorRadius = 16.0 GeometryMinorRadius = 8.0 GeometryHeight = 7.5 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ObjectReskin Slth_GLAVehicleTechnicalChassisThree Slth_GLAVehicleTechnicalChassisOne ; *** ART Parameters *** Draw = W3DTruckDraw ModuleTag_01 ExtraPublicBone = Dum_Turret DefaultConditionState Model = UVTechJeep End ConditionState = REALLYDAMAGED Model = UVTechJeep_d End ConditionState = RUBBLE Model = UVTechJeep_d End OkToChangeModelColor = Yes TrackMarks = EXTireTrack.tga Dust = TechnicalDust ;DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes AttachToBoneInAnotherModule = Dum_Turret ; ------------------ basic technical ------------------------ DefaultConditionState Model = UITech_SKN Turret = Dum-TurManMVR TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = MOVING Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End AliasConditionState = TURRET_ROTATE MOVING AliasConditionState = TURRET_ROTATE FIRING_A AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE RELOADING_A AliasConditionState = TURRET_ROTATE MOVING FIRING_A AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE MOVING RELOADING_A ConditionState = FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = BETWEEN_FIRING_SHOTS_A AliasConditionState = RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_ONE IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_TWO IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A End ; Behavior = CreateObjectDie ModuleTag_13 ; DeathTypes = NONE +CRUSHED +SPLATTED ; CreationList = OCL_TechnicalJeep_CrushEffect ; End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 9.0 GeometryHeight = 9.5 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ;The Marauder Tank, for the Warlord General. Object Slth_GLATankMarauder ; *** ART Parameters *** SelectPortrait = SUMarauder_L ButtonImage = SUMarauder UpgradeCameo1 = Upgrade_GLAToxinShells UpgradeCameo2 = Upgrade_GLAJunkRepair ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes ; no crate upgrade ConditionState = NONE Model = UVMarauder Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 TurretUp02 BarrelFX01 ; Since we are showing one of three turrets, we need to then hide the subobject muzzleflash WeaponFireFXBone = PRIMARY BarrelMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY BarrelFX WeaponLaunchBone = PRIMARY BarrelMS End ConditionState = REALLYDAMAGED Model = UVMarauder_d Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 TurretUp02 BarrelFX01 WeaponFireFXBone = PRIMARY BarrelMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY BarrelFX WeaponLaunchBone = PRIMARY BarrelMS End ConditionState = RUBBLE Model = UVMarauder_d Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 TurretUp02 BarrelFX01 WeaponFireFXBone = PRIMARY BarrelMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY BarrelFX WeaponLaunchBone = PRIMARY BarrelMS End ; crate upgrade 1 ConditionState = WEAPONSET_CRATEUPGRADE_ONE Model = UVMarauder Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret TurretUp02 BarrelUp01FX01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponRecoilBone = PRIMARY BarrelUp01 WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponLaunchBone = PRIMARY BarrelUp01MS End ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE Model = UVMarauder_d Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret TurretUp02 BarrelUp01FX01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponRecoilBone = PRIMARY BarrelUp01 WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponLaunchBone = PRIMARY BarrelUp01MS End ConditionState = RUBBLE WEAPONSET_CRATEUPGRADE_ONE Model = UVMarauder_d Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret TurretUp02 BarrelUp01FX01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponRecoilBone = PRIMARY BarrelUp01 WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponLaunchBone = PRIMARY BarrelUp01MS End ; crate upgrade 2 ConditionState = WEAPONSET_CRATEUPGRADE_TWO Model = UVMarauder Turret = TurretUp02 ShowSubObject = TurretUp02 HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponRecoilBone = PRIMARY BarrelUp02 WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponLaunchBone = PRIMARY BarrelUp02MS End ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO Model = UVMarauder_d Turret = TurretUp02 ShowSubObject = TurretUp02 HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponRecoilBone = PRIMARY BarrelUp02 WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponLaunchBone = PRIMARY BarrelUp02MS End ConditionState = RUBBLE WEAPONSET_CRATEUPGRADE_TWO Model = UVMarauder_d Turret = TurretUp02 ShowSubObject = TurretUp02 HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponRecoilBone = PRIMARY BarrelUp02 WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponLaunchBone = PRIMARY BarrelUp02MS End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. End ; ***DESIGN parameters *** DisplayName = OBJECT:Marauder Side = GLAStealthGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY MarauderTankGun End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY MarauderTankGunUpgradeOne End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY MarauderTankGunUpgradeTwo End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End BuildCost = 800 BuildTime = 10.0 ;in seconds VisionRange = 125 ShroudClearingRange = 300 Prerequisites Object = Slth_GLAArmsDealer Science = SCIENCE_MarauderTank End ExperienceValue = 100 100 200 300 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = GLATankMarauderCommandSet ; *** AUDIO Parameters *** VoiceSelect = MarauderTankVoiceSelect VoiceMove = MarauderTankVoiceMove VoiceGuard = MarauderTankVoiceMove VoiceAttack = MarauderTankVoiceAttack SoundMoveStart = MarauderTankMoveStart SoundMoveStartDamaged = MarauderTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = MarauderTankVoiceCreate ;TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop VoiceSalvage = MarauderTankVoiceSalvage VoiceCrush = MarauderTankVoiceCrush VoiceEnter = MarauderTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 430.0 InitialHealth = 430.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 860 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL MarauderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = AutoHealBehavior ModuleTag_05 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_06 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 1000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_MarauderTankDeathEffect FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = CreateCrateDie ModuleTag_07 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End ; A crushing defeat Behavior = FXListDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 17.0 GeometryMinorRadius = 10.0 GeometryHeight = 9.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;GLA Radar Van Object Slth_GLAVehicleRadarVan ; *** ART Parameters *** SelectPortrait = SURadarVan_L ButtonImage = SURadarVan UpgradeCameo1 = Upgrade_GLARadarVanScan UpgradeCameo2 = Upgrade_GLAJunkRepair ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UVRadarVan Animation = UVRadarVan.UVRadarVan AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = UVRadarVan_D Animation = UVRadarVan_D.UVRadarVan_D AnimationMode = LOOP End ConditionState = RUBBLE Model = UVRadarVan_D Animation = UVRadarVan_D.UVRadarVan_D AnimationMode = LOOP End TrackMarks = EXTireTrack.tga ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:RadarVan Side = GLAStealthGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End BuildCost = 500 BuildTime = 10.0 ;in seconds VisionRange = 200 ShroudClearingRange = 500 Prerequisites Object = Slth_GLAArmsDealer End IsTrainable = No CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Slth_GLAVehicleRadarVanCommandSet ; *** AUDIO Parameters *** VoiceSelect = RadarVanVoiceSelect VoiceMove = RadarVanVoiceMove VoiceAttack = RadarVanVoiceMove SoundMoveStart = RadarVanMoveStart SoundMoveStartDamaged = RadarVanMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = RadarVanVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = NoSound ;RocketBuggyLand TruckPowerslideSound = NoSound ;RocketBuggyPowerslide VoiceCrush = RadarVanVoiceCrush VoiceEnter = RadarVanVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE IGNORES_SELECT_ALL Body = ActiveBody ModuleTag_02 MaxHealth = 200 InitialHealth = 200 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 400 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End ExperienceValue = 20 20 20 20 ; Experience point value at each level Behavior = GrantUpgradeCreate ModuleTag_03 UpgradeToGrant = Upgrade_GLARadar End Behavior = RadarUpgrade ModuleTag_05 TriggeredBy = Upgrade_GLARadar DisableProof = Yes ; Won't be disabled by power low End Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = SpecialPowerRadarVanScan OCL = SUPERWEAPON_RadarVanScan CreateLocation = CREATE_AT_LOCATION StartsPaused = Yes ; Unpaused by upgrade module End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_07 SpecialPowerTemplate = SpecialPowerRadarVanScan TriggeredBy = Upgrade_GLARadarVanScan End Behavior = AutoHealBehavior ModuleTag_08 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = AIUpdateInterface ModuleTag_09 Turret TurretTurnRate = 100 ControlledWeaponSlots = PRIMARY End End Locomotor = SET_NORMAL RadarVanLocomotor Behavior = PhysicsBehavior ModuleTag_10 Mass = 50.0 End ; The default explosion Behavior = SlowDeathBehavior ModuleTag_11 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 5 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 0 DestructionDelayVariance = 200 FX = FINAL FX_BuggyNewDeathExplosion OCL = FINAL OCL_RadarVanDeathEffect End Behavior = FlammableUpdate ModuleTag_13 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = DestroyDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = CreateCrateDie ModuleTag_15 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = StealthDetectorUpdate ModuleTag_16 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 250 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End ; A crushing defeat Behavior = FXListDie ModuleTag_17 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_18 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = TransitionDamageFX ModuleTag_19 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_CrusaderDamageTransition End Geometry = BOX GeometryMajorRadius = 16.0 GeometryMinorRadius = 6.0 GeometryHeight = 12.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ;minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Slth_GLAVehicleBattleBus ; *** ART Parameters *** SelectPortrait = SUbattlebus_L ButtonImage = SUbattlebus UpgradeCameo1 = Upgrade_GLAJunkRepair Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes TrackMarks = EXTireTrack.tga ExtraPublicBone = BUSUP01 ExtraPublicBone = BUSUP02 DefaultConditionState Model = UVBATTBUS HideSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS.UVBATTBUS AnimationMode = MANUAL End ConditionState = MOVING Model = UVBATTBUS Animation = UVBATTBUS.UVBATTBUS AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = UVBATTBUS_D Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = MANUAL End ConditionState = REALLYDAMAGED MOVING Model = UVBATTBUS_D Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = LOOP End ConditionState = SECOND_LIFE ; Set after our first death, natch Model = UVBATTBUS_D1 Animation = UVBATTBUS_D1.UVBATTBUS_D1 AnimationMode = MANUAL End AliasConditionState = REALLYDAMAGED SECOND_LIFE AliasConditionState = RUBBLE SECOND_LIFE ConditionState = RUBBLE Model = UVBATTBUS_D End ;--------- One crates ConditionState = ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS ShowSubObject = BUSUP01 HideSubObject = BUSUP02 Animation = UVBATTBUS.UVBATTBUS AnimationMode = MANUAL End ConditionState = MOVING ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS ShowSubObject = BUSUP01 HideSubObject = BUSUP02 Animation = UVBATTBUS.UVBATTBUS AnimationMode = LOOP End ConditionState = REALLYDAMAGED ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS_D ShowSubObject = BUSUP01 HideSubObject = BUSUP02 Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = MANUAL End ConditionState = REALLYDAMAGED MOVING ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS_D ShowSubObject = BUSUP01 HideSubObject = BUSUP02 Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = LOOP End ConditionState = SECOND_LIFE ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS_D1 ShowSubObject = BUSUP01 HideSubObject = BUSUP02 Animation = UVBATTBUS_D1.UVBATTBUS_D1 AnimationMode = MANUAL End AliasConditionState = REALLYDAMAGED SECOND_LIFE ARMORSET_CRATEUPGRADE_ONE AliasConditionState = RUBBLE SECOND_LIFE ARMORSET_CRATEUPGRADE_ONE ConditionState = RUBBLE ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS_D ShowSubObject = BUSUP01 HideSubObject = BUSUP02 End ;--------- Two crates ConditionState = ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS ShowSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS.UVBATTBUS AnimationMode = MANUAL End ConditionState = MOVING ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS ShowSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS.UVBATTBUS AnimationMode = LOOP End ConditionState = REALLYDAMAGED ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS_D ShowSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = MANUAL End ConditionState = REALLYDAMAGED MOVING ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS_D ShowSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = LOOP End ConditionState = SECOND_LIFE ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS_D1 ShowSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS_D1.UVBATTBUS_D1 AnimationMode = MANUAL End AliasConditionState = REALLYDAMAGED SECOND_LIFE ARMORSET_CRATEUPGRADE_TWO AliasConditionState = RUBBLE SECOND_LIFE ARMORSET_CRATEUPGRADE_TWO ConditionState = RUBBLE ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS_D ShowSubObject = BUSUP01 BUSUP02 End LeftFrontTireBone = Tire01 RightFrontTireBone = Tire04 LeftRearTireBone = Tire02 RightRearTireBone = Tire03 TireRotationMultiplier = 0.2 ; this * speed = rotation. Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide End PlacementViewAngle = 180 ; ***DESIGN parameters *** DisplayName = OBJECT:BattleBus Side = GLAStealthGeneral EditorSorting = VEHICLE TransportSlotCount = 8 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY None Weapon = SECONDARY BattleBusDummyWeapon End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY BattleBusPassengerDummyWeapon Weapon = SECONDARY BattleBusDummyWeapon End ArmorSet Conditions = None Armor = BattleBusTruckArmor DamageFX = TruckDamageFX End ArmorSet Conditions = SECOND_LIFE ; Set after our first death, natch Armor = BattleBusStructureArmorTough DamageFX = StructureDamageFX End ArmorSet Conditions = CRATE_UPGRADE_ONE Armor = BattleBusTruckArmorPlusOne DamageFX = TruckDamageFX End ArmorSet Conditions = CRATE_UPGRADE_ONE SECOND_LIFE ; Set after our first death, natch Armor = BattleBusStructureArmorToughPlusOne DamageFX = StructureDamageFX End ArmorSet Conditions = CRATE_UPGRADE_TWO Armor = BattleBusTruckArmorPlusTwo DamageFX = TruckDamageFX End ArmorSet Conditions = CRATE_UPGRADE_TWO SECOND_LIFE ; Set after our first death, natch Armor = BattleBusStructureArmorToughPlusTwo DamageFX = StructureDamageFX End BuildCost = 1000 BuildTime = 15.0 ;in seconds VisionRange = 150 ; Used in attack move targeting ShroudClearingRange = 200 Prerequisites Object = Slth_GLAArmsDealer Object = Slth_GLAPalace End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Slth_GLAVehicleBattleBusCommandSet ; *** AUDIO Parameters *** VoiceSelect = BattleBusVoiceSelect VoiceMove = BattleBusVoiceMove VoiceGuard = BattleBusVoiceMove VoiceAttack = BattleBusVoiceAttack SoundMoveStart = BattleBusMoveStart SoundMoveStartDamaged = BattleBusMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = BattleBusVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = NoSound TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceUnload = BattleBusVoiceUnload End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SALVAGER ARMOR_SALVAGER SCORE TRANSPORT Body = UndeadBody ModuleTag_02 ; Body module that treats the first death as a state change MaxHealth = 400.0 InitialHealth = 400.0 SecondLifeMaxHealth = 650.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 750 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End IsTrainable = No ExperienceValue = 50 50 50 50 ; Experience point value at each level Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = No ATTACK_BUILDINGS End Behavior = PhysicsBehavior ModuleTag_05 Mass = 40.0 End Behavior = AutoHealBehavior ModuleTag_06 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Locomotor = SET_NORMAL BattleBusLocomotor Behavior = BattleBusSlowDeathBehavior ModuleTag_08 DeathTypes = ALL -CRUSHED -SPLATTED -EXTRA_4 ProbabilityModifier = 5 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely ; Part the first, uses when killed the first time from non-system (unresistable) damage FXStartUndeath = FX_BattleBusStartUndeath OCLStartUndeath = OCL_BattleBusStartUndeath FXHitGround = FX_BattleBusHitGround OCLHitGround = OCL_BattleBusHitGround ThrowForce = 100.0 PercentDamageToPassengers = 50% EmptyHulkDestructionDelay = 1000 ; If non-zero, msec of emptiness before we kill ourselves with Penalty damage ; Part the second, normal fields of a SlowDeathBehavior DestructionDelay = 0 DestructionDelayVariance = 200 FX = FINAL FX_BuggyNewDeathExplosion OCL = FINAL OCL_BattleBusDeath End Behavior = TransportContain ModuleTag_10 PassengersAllowedToFire = Yes Slots = 8 DamagePercentToUnits = 100% AllowInsideKindOf = INFANTRY ExitDelay = 250 NumberOfExitPaths = 5 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting WeaponBonusPassedToPassengers = Yes DelayExitInAir = Yes ArmedRidersUpgradeMyWeaponSet = Yes End ; Module 11 cut. ; Behavior = HordeUpdate ModuleTag_11 ; RubOffRadius = 150 ; if I am this close to a real hordesman, I will get to be an honorary hordesman ; UpdateRate = 1000 ; how often to recheck horde status (msec) ; Radius = 75 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) ; AlliesOnly = Yes ; do we only count allies towards horde status? ; ExactMatch = Yes ; do we only count units of our exact same type towards horde status? (overrides kindof) ; Count = 5 ; how many units must be within Radius to grant us horde-ness ; Action = HORDE ; when horde-ing, grant us the HORDE bonus ; End ; A crushing defeat Behavior = FXListDie ModuleTag_23 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_24 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_25 CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_28 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = DestroyDie ModuleTag_29 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = SlowDeathBehavior ModuleTag_30 // Empty Hulk sinking away DeathTypes = NONE +EXTRA_4 SinkDelay = 1 SinkRate = 2.5 DestructionDelay = 5000 End Behavior = TransitionDamageFX ModuleTag_31 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Geometry = BOX GeometryMajorRadius = 19.0 GeometryMinorRadius = 8.0 GeometryHeight = 11.5 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object SupW_PointDefenseDroneLaserBeam ; *** ART Parameters *** Draw = W3DLaserDraw ModuleTag_01 Texture = EXLaser.tga NumBeams = 3 ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data. InnerBeamWidth = 0.4 ;The total width of beam InnerColor = R:255 G:255 B:255 A:250 ;The inside color of the laser (hot) OuterBeamWidth = 1.2 ;The total width of beam OuterColor = R:255 G:0 B:255 A:150 ;The outside color of the laser (cool) ;MaxIntensityLifetime = 2000 ;Laser stays at max intensity for specified time in ms. ;FadeLifetime = 0 ;Laser will fade and delete. ;@todo -- add shot ability functionality (instead of instant point A to B) End KindOf = IMMOBILE ClientUpdate = LaserUpdate ModuleTag_02 MuzzleParticleSystem = PaladinPointDefenseLaserFlare TargetParticleSystem = GenericLaserFlare End Behavior = LifetimeUpdate ModuleTag_03 MinLifetime = 95 ; min lifetime in msec MaxLifetime = 95 ; max lifetime in msec End End ;------------------------------------------------------------------------------ Object SupW_AmericaVehiclePointDefenseDrone ; *** ART Parameters *** SelectPortrait = SABattleDrone_L ButtonImage = SABattleDrone UpgradeCameo1 = Upgrade_AmericaDroneArmor ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE ;MAIN CHASSIS Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVBATTLEDR Animation = AVBATTLEDR.AVBATTLEDR AnimationMode = LOOP Turret = Turret01 TurretPitch = TurretEL01 WeaponMuzzleFlash = PRIMARY TurretFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = REALLYDAMAGED Model = AVBATTLEDR_D Animation = AVBATTLEDR_D.AVBATTLEDR_D AnimationMode = LOOP End End ;EXTENDING ARM (FOR REPAIRING) Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes DefaultConditionState Model = AVBATTLEDR_A End ;Unloading the arm (before starting to repair) ConditionState = UNPACKING Animation = AVBATTLEDR_A1.AVBATTLEDR_A1 AnimationMode = ONCE End ;Loading the arm (after reparing complete) ConditionState = PACKING Animation = AVBATTLEDR_A1.AVBATTLEDR_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ;Repair extending animation 1 (using bogus condition states -- doesn't justify making a whole new set) ConditionState = FIRING_B Animation = AVBATTLEDR_A2.AVBATTLEDR_A2 AnimationMode = ONCE End ;Repair retracting animation 1 (using bogus condition states -- doesn't justify making a whole new set) ConditionState = FIRING_C Animation = AVBATTLEDR_A2.AVBATTLEDR_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:BattleDrone Side = AmericaSuperWeaponGeneral EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY BattleDroneMachineGun End ArmorSet Conditions = None Armor = TankArmor DamageFX = SmallTankDamageFX End BuildCost = 200 BuildTime = 5.0 ;in seconds VisionRange = 150 ShroudClearingRange = 150 ExperienceValue = 10 10 10 10 ;Experience point value at each level IsTrainable = No ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE NO_SELECT Body = ActiveBody ModuleTag_03 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_04 Turret TurretTurnRate = 360 // turn rate, in degrees per sec TurretPitchRate = 360 MinPhysicalPitch = -75 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) AllowsPitch = Yes ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL BattleDroneLocomotor Locomotor = SET_PANIC BattleDronePanicLocomotor ;used for repairing master (zippy) Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 KillWhenRestingOnGround = Yes AllowBouncing = No End Behavior = MaxHealthUpgrade ModuleTag_06 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 50.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = SlavedUpdate ModuleTag_07 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. AttackWanderRange = 10 ;How far I'm allowed to wander from target. ScoutRange = 75 ;How far away from master I'm allowed when master is moving. ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. StayOnSameLayerAsMaster = Yes End Behavior = DestroyDie ModuleTag_08 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_09 DeathTypes = ALL CreationList = OCL_AmericaBattleDroneExplode End Behavior = TransitionDamageFX ModuleTag_10 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall End Behavior = FXListDie ModuleTag_11 DeathTypes = ALL DeathFX = FX_AmericaBattleDroneExplode End Behavior = UpgradeDie ModuleTag_12 ;This frees the object based upgrade for the producer object. DeathTypes = ALL ;UpgradeToRemove = SupW_Upgrade_AmericaPointDefenseDrone ModuleTag_12 UpgradeToRemove = Upgrade_AmericaBattleDrone ModuleTag_12 End Behavior = PointDefenseLaserUpdate ModuleTag_13 WeaponTemplate = SupW_PointDefenseDroneLaserWeapon PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE SecondaryTargetTypes = INFANTRY ScanRate = 100 ScanRange = 120.0 PredictTargetVelocityFactor = 3.0 End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5 GeometryMinorRadius = 5 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object SupW_NeutronMissile ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = ABNukeMissle End ConditionState = DAMAGED REALLYDAMAGED RUBBLE Model = NONE End End ; ***DESIGN parameters *** DisplayName = OBJECT:NeutronMissile KindOf = UNATTACKABLE EditorSorting = SYSTEM VisionRange = 300.0 ShroudClearingRange = 0 TransportSlotCount = 10 ArmorSet Conditions = None Armor = ProjectileArmor DamageFX = None End ; *** AUDIO Parameters *** ; SoundFallingFromPlane = DaisyCutterWeapon ; *** ENGINEERING Parameters *** Body = ActiveBody ModuleTag_02 MaxHealth = 99999999.0 InitialHealth = 99999999.0 End Behavior = NeutronMissileUpdate ModuleTag_03 DistanceToTravelBeforeTurning = 500 ; goes straight up a long ways first MaxTurnRate = 9000 ; huge, since it turns off-camera ForwardDamping = 0.1 RelativeSpeed = 2.0 LaunchFX = FX_NeutronMissileLaunch IgnitionFX = FX_NeutronMissileIgnition TargetFromDirectlyAbove = 500 ; aim for an intermed spot directly above the target, so we come straight down onto it SpecialAccelFactor = 1 SpecialSpeedTime = 1500 SpecialSpeedHeight = 160 SpecialJitterDistance = 0.4 DeliveryDecalRadius = 210 DeliveryDecal Texture = SCCNuclearMissile_China Style = SHADOW_ALPHA_DECAL OpacityMin = 25% OpacityMax = 50% OpacityThrobTime = 500 Color = R:255 G:0 B:0 A:255 OnlyVisibleToOwningPlayer = Yes End End Behavior = HeightDieUpdate ModuleTag_04 TargetHeight = 100.0 TargetHeightIncludesStructures = No OnlyWhenMovingDown = Yes SnapToGroundOnDeath = Yes InitialDelay = 1000 ; Can't explode in the first second so we don't explode on the pad End Behavior = SpecialPowerCompletionDie ModuleTag_05 SpecialPowerTemplate = SupW_SuperweaponNeutronMissile End Behavior = NeutronMissileSlowDeathBehavior ModuleTag_06 DestructionDelay = 3501 ScorchMarkSize = 320 FXList = SupW_FX_Nuke Blast1Enabled = Yes Blast1Delay = 580 ;in milliseconds Blast1ScorchDelay = 100 ;in milliseconds Blast1InnerRadius = 60.0 ;objects inside this get the full damage Blast1OuterRadius = 60.0 ;objects inside this get some of the full damage Blast1MaxDamage = 0.0 ;damage within inner radius of blast Blast1MinDamage = 0.0 ;always do at least this much damage to objects Blast1ToppleSpeed = 0.5 ;higher #'s topple faster Blast1PushForce = 10.0 ;higher #'s push more Blast2Enabled = Yes Blast2Delay = 660 ;in milliseconds Blast2ScorchDelay = 180 ;in milliseconds Blast2InnerRadius = 90.0 ;objects inside this get the full damage Blast2OuterRadius = 90.0 ;objects inside this get some of the full damage Blast2MaxDamage = 0.0 ;damage within inner radius of blast Blast2MinDamage = 0.0 ;always do at least this much damage to objects Blast2ToppleSpeed = 0.45 ;higher #'s topple faster Blast2PushForce = 8.0 ;higher #'s push more Blast3Enabled = Yes Blast3Delay = 720 ;in milliseconds Blast3ScorchDelay = 260 ;in milliseconds Blast3InnerRadius = 120.0 ;objects inside this get the full damage Blast3OuterRadius = 120.0 ;objects inside this get some of the full damage Blast3MaxDamage = 0.0 ;damage within inner radius of blast Blast3MinDamage = 0.0 ;always do at least this much damage to objects Blast3ToppleSpeed = 0.42 ;higher #'s topple faster Blast3PushForce = 6.0 ;higher #'s push more Blast4Enabled = Yes Blast4Delay = 850 ;in milliseconds Blast4ScorchDelay = 340 ;in milliseconds Blast4InnerRadius = 150.0 ;objects inside this get the full damage Blast4OuterRadius = 150.0 ;objects inside this get some of the full damage Blast4MaxDamage = 0.0 ;damage within inner radius of blast Blast4MinDamage = 0.0 ;always do at least this much damage to objects Blast4ToppleSpeed = 0.40 ;higher #'s topple faster Blast4PushForce = 6.0 ;higher #'s push more Blast5Enabled = Yes Blast5Delay = 1000 ;in milliseconds Blast5ScorchDelay = 420 ;in milliseconds Blast5InnerRadius = 180.0 ;objects inside this get the full damage Blast5OuterRadius = 180.0 ;objects inside this get some of the full damage Blast5MaxDamage = 0.0 ;damage within inner radius of blast Blast5MinDamage = 0.0 ;always do at least this much damage to objects Blast5ToppleSpeed = 0.38 ;higher #'s topple faster Blast5PushForce = 6.0 ;higher #'s push more Blast6Enabled = Yes Blast6Delay = 1180 ;in milliseconds Blast6ScorchDelay = 500 ;in milliseconds Blast6InnerRadius = 60.0 ;objects inside this get the full damage Blast6OuterRadius = 210.0 ;objects inside this get some of the full damage Blast6MaxDamage = 3500.0 ;damage within inner radius of blast Blast6MinDamage = 300.0 ;always do at least this much damage to objects Blast6ToppleSpeed = 0.35 ;higher #'s topple faster Blast6PushForce = 4.0 ;higher #'s push more Blast7Enabled = Yes Blast7Delay = 999999 ;in milliseconds, don't do the damage wave Blast7ScorchDelay = 620 ;in milliseconds Blast7OuterRadius = 210.0 ;objects inside this get some of the full damage Blast8Enabled = Yes Blast8Delay = 999999 ;in milliseconds, don't do the damage wave Blast8ScorchDelay = 700 ;in milliseconds Blast8OuterRadius = 210.0 ;objects inside this get some of the full damage Blast9Enabled = Yes Blast9Delay = 999999 ;in milliseconds, don't do the damage wave Blast9ScorchDelay = 800 ;in milliseconds Blast9OuterRadius = 210.0 ;objects inside this get some of the full damage ;OCL = MIDPOINT OCL_NukeRadiationField End Geometry = CYLINDER GeometryIsSmall = Yes GeometryMajorRadius = 7.0 GeometryHeight = 60.0 End ;-------------------------------- Object SupW_AmericaJetSpectreGunship ; *** ART Parameters *** Draw = W3DOverlordAircraftDraw ModuleTag_01 ; Works with the dependencyModelDraw of the upgrade portable structures ;----NORMAL------------- DefaultConditionState Model = AVSGunship WeaponFireFXBone = PRIMARY MUZZLE WeaponFireFXBone = SECONDARY MUZZLE WeaponMuzzleFlash = PRIMARY MUZZLEFX WeaponMuzzleFlash = SECONDARY MUZZLEFX End ConditionState = DOOR_1_OPENING Model = AVSGunship Animation = AVSGunship.AVSGunship AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail End ConditionState = DOOR_1_CLOSING Model = AVSGunship Animation = AVSGunship.AVSGunship AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare End ;----DAMAGED------------- ConditionState = DOOR_1_OPENING DAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = DOOR_1_CLOSING DAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ;----REALLY DAMAGED------------- ConditionState = DOOR_1_OPENING REALLYDAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 SpectreContrail ParticleSysBone = WingTip02 SpectreContrail ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke02 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 SpectreSmokeLarge End ConditionState = DOOR_1_CLOSING REALLYDAMAGED Model = AVSGunship_D Animation = AVSGunship_D.AVSGunship_D AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = Engine01 SpectreAfterburnerTrail ParticleSysBone = Engine02 SpectreAfterburnerTrail ParticleSysBone = Engine01 SpectreEngineFlare ParticleSysBone = Engine02 SpectreEngineFlare ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke02 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke04 SpectreSmokeLarge End ConditionState = RUBBLE Model = AVSGunship_D1 ParticleSysBone = Smoke01 SpectreGunshipFireLarge ParticleSysBone = Smoke05 SpectreGunshipFireLarge ParticleSysBone = Smoke03 SpectreGunshipFireLarge ParticleSysBone = Smoke04 SpectreGunshipFireLarge ParticleSysBone = Smoke01 SpectreSmokeLarge ParticleSysBone = Smoke03 SpectreSmokeLarge ParticleSysBone = Smoke02 SpectreSmokeLarge ParticleSysBone = Smoke05 SpectreSmokeLarge End AliasConditionState = REALLYDAMAGED RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = REALLYDAMAGED RUBBLE DOOR_1_OPENING OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:SpectreGunship EditorSorting = VEHICLE Side = AmericaSuperWeaponGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 300 Prerequisites Object = SupW_AmericaAirfield End ArmorSet Conditions = None Armor = SpectreGunshipArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresSpectreGunshipArmor DamageFX = None End WeaponSet Conditions = None Weapon = PRIMARY SpectreHowitzerGun End ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = No ;Not Player built, so no veterancy.............................. ; *** AUDIO Parameters *** VoiceSelect = SpectreGunshipVoiceSelect VoiceAttack = SpectreGunshipVoiceAttack VoiceMove = SpectreGunshipVoiceMove SoundAmbient = SpectreGunshipAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds Afterburner = SpectreGunshipAfterburnerLoop HowitzerFire = SpectreHowitzerWeapon End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_ATTACK VEHICLE AIRCRAFT SCORE SELECTABLE EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 600.0 InitialHealth = 600.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = JetSlowDeathBehavior ModuleTag_04 DestructionDelay = 99999999 ; destruction will happen when we RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_SpectreGunshipExplosionLight OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_spectreDeathExplosion OCLSecondary = None FXHitGround = FX_spectreGunshipDeathExplosion OCLHitGround = OCL_A10DeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds ; FXFinalBlowUp = FX_spectreGunshipDeathExplosion OCLFinalBlowUp = OCL_SpectreDeathFinalBlowUp End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End ;SCRIPTED SUPPORT: These special power is triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = AIUpdateInterface ModuleTag_07 ForbidPlayerCommands = Yes ; this AIUpdate will only do command if from script or AI, not player End Locomotor = SET_PANIC SpectreGunshipTransitLocomotor Locomotor = SET_NORMAL SpectreGunshipOrbitLocomotor Behavior = SpecialAbility ModuleTag_32 SpecialPowerTemplate = SuperweaponSpectreGunship UpdateModuleStartsAttack = Yes End Behavior = SpectreGunshipUpdate ModuleTag_10 GattlingStrafeFXParticleSystem = SpectreGattlingArmsSmoke SpecialPowerTemplate = SuperweaponSpectreGunship HowitzerWeaponTemplate = SpectreHowitzerGun GattlingTemplateName = SpectreGunshipGattlingCannon RandomOffsetForHowitzer = 20 TargetingReticleRadius = 25 OrbitInsertionSlope = 0.7 ; steepness of orbit entry GunshipOrbitRadius = 250 HowitzerFiringRate = 300 ; how long between each attempted shot of howitzer HowitzerFollowLag = 400 ;600 ; how long after gattling acquires target can howitzer shoot same StrafingIncrement = 20 ; how far apart is each shot of the gattling as it strafes AttackAreaRadius = 200 OrbitTime = 15000 ;20000 ;32000 ; thirty-two seconds AttackAreaDecal Texture = SCCSpecTarg Style = SHADOW_ALPHA_DECAL OpacityMin = 25% OpacityMax = 50% OpacityThrobTime = 1500 Color = R:127 G:177 B:222 A:255 OnlyVisibleToOwningPlayer = Yes End TargetingReticleDecal Texture = SCCSpecRet Style = SHADOW_ALPHA_DECAL OpacityMin = 50% OpacityMax = 100% OpacityThrobTime = 300 Color = R:127 G:177 B:222 A:255 OnlyVisibleToOwningPlayer = Yes End End Behavior = HelixContain ModuleTag_09 Slots = 1 DamagePercentToUnits = 100% AllowInsideKindOf = PORTABLE_STRUCTURE PassengersAllowedToFire = Yes ShouldDrawPips = No End Behavior = FlammableUpdate ModuleTag_08 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_11 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_Client01 ;;;;;;;; End ; This allows the wingtip trails to stay stuck to the retractable wings Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 40.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;-------------------------------- ;------------------------------------------------------------------------------ Object SupW_SpectreGunshipGattlingCannon ; *** ART Parameters *** Draw = W3DDependencyModelDraw ModuleTag_01 OkToChangeModelColor = Yes AttachToBoneInContainer = CHASIS DefaultConditionState Model = AVSGUNSHIP_GUN TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY Muzzle WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponMuzzleFlash = SECONDARY MuzzleFX End End ; ***DESIGN parameters *** Side = AmericaSuperWeaponGeneral EditorSorting = SYSTEM TransportSlotCount = 1 WeaponSet Conditions = None Weapon = PRIMARY SpectreGattlingGun End ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module End VisionRange = 200 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop VoiceRapidFire = NoSound End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY TurretTurnRate = 160 // turn rate, in degrees per sec TurretPitchRate = 160 AllowsPitch = Yes End AutoAcquireEnemiesWhenIdle = No End Behavior = DestroyDie ModuleTag_04 ;nothing End Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 3.0 GeometryHeight = 3.0 GeometryIsSmall = No Shadow = NONE End ;------------------------------------------------------------------------------ Object SupW_SpectreGunshipHowitzer ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVSGUNSHIP_GHOW TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY Muzzle WeaponFireFXBone = SECONDARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponMuzzleFlash = SECONDARY MuzzleFX End End ; ***DESIGN parameters *** Side = AmericaSuperWeaponGeneral EditorSorting = SYSTEM TransportSlotCount = 1 WeaponSet Conditions = None Weapon = PRIMARY SpectreHowitzerGun End ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module End VisionRange = 200 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop VoiceRapidFire = NoSound End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY SECONDARY TurretTurnRate = 60 // turn rate, in degrees per sec TurretPitchRate = 60 AllowsPitch = Yes End AutoAcquireEnemiesWhenIdle = No End Behavior = DestroyDie ModuleTag_04 ;nothing End Behavior = StealthDetectorUpdate ModuleTag_06 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ; Defaults to VisionRange CanDetectWhileContained = Yes End Geometry = BOX GeometryMajorRadius = 13.0 GeometryMinorRadius = 13.0 GeometryHeight = 8.0 GeometryIsSmall = No Shadow = NONE End ;------------------------------------------------------------------------------ Object SupW_AmericaJetRaptor ; *** ART Parameters *** SelectPortrait = SACRaptor_L ButtonImage = SACRaptor UpgradeCameo1 = Upgrade_AmericaLaserMissiles UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_AmericaCountermeasures ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVRaptor HideSubObject = BurnerFX01 BurnerFX02 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburner ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = REALLYDAMAGED Model = AVRaptor_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke End ConditionState = REALLYDAMAGED JETEXHAUST Model = AVRaptor_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = AVRaptor_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; afterburner ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE Model = AVRaptor_D1B HideSubObject = None ShowSubObject = None End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = AVRaptor_D1B ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Raptor EditorSorting = VEHICLE Side = AmericaSuperWeaponGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 200.0 ShroudClearingRange = 400 Prerequisites Object = SupW_AmericaAirfield End WeaponSet Conditions = None Weapon = PRIMARY RaptorJetMissileWeapon End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End BuildCost = 1400 BuildTime = 20 ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaJetRaptorCommandSet ; *** AUDIO Parameters *** VoiceSelect = RaptorVoiceSelect VoiceMove = RaptorVoiceMove VoiceAttack = RaptorVoiceAttack VoiceAttackAir = RaptorVoiceAttackAir VoiceGuard = RaptorVoiceAirPatrol SoundAmbient = RaptorAmbientLoop SoundAmbientRubble = NoSound ; SoundMoveLoop = RaptorAmbientLoop ; don't want sound while sitting at airfield ; SoundAmbient = NoSound UnitSpecificSounds VoiceCreate = RaptorVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceLowFuel = RaptorVoiceLowFuel VoiceGarrison = RaptorVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 160.0 InitialHealth = 160.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 3 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 1.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = ExperienceScalarUpgrade ModuleTag_04 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = JetSlowDeathBehavior ModuleTag_05 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_RaptorDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_RaptorDeathInitial OCLInitialDeath = OCL_RaptorDeathInitial DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary OCLSecondary = OCL_RaptorDeathSecondary FXHitGround = FX_JetDeathHitGround OCLHitGround = OCL_RaptorDeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_RaptorDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = EjectPilotDie ModuleTag_06 ExemptStatus = HIJACKED GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = PhysicsBehavior ModuleTag_07 Mass = 500.0 End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Behavior = JetAIUpdate ModuleTag_09 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 ParkingOffset = 3 ; scooch it a little forward so the tail doesn't hit the doors ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Locomotor = SET_NORMAL RaptorJetLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = Box GeometryIsSmall = Yes GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 5.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length. End ;------------------------------------------------------------------------------ Object SupW_AmericaJetB52 ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVBomber ParticleSysBone = Engine00 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin End ConditionState = DAMAGED Model = AVBomber_D ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Engine00 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = REALLYDAMAGED Model = AVBomber_D ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Engine00 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = RUBBLE Model = AVBomber_D1 ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End OkToChangeModelColor = Yes End Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = AVBomber_A2U Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_OPENING Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_CLOSING Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED Model = AVBomber_A2DU Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_OPENING REALLYDAMAGED Model = AVBomber_A2DU Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_CLOSING REALLYDAMAGED Model = AVBomber_A2DU Animation = AVBomber_A2K.AVBomber_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES End End ; ***DESIGN parameters *** DisplayName = OBJECT:B52 EditorSorting = VEHICLE Side = AmericaSuperWeaponGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 0.0 ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = TankDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End CommandSet = Command_ScriptedTransportDrops ; *** AUDIO Parameters *** SoundAmbient = B52AmbientLoop SoundAmbientRubble = NoSound ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 1000.0 InitialHealth = 1000.0 End ExperienceValue = 50 50 50 50 ; Experience point value at each level ;SCRIPTED SUPPORT: These special powers are triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_04 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ OCL = SUPERWEAPON_DaisyCutter CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_05 SpecialPowerTemplate = SuperweaponParadropAmerica UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 OCL = SUPERWEAPON_Paradrop1 CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = SuperweaponCarpetBomb OCL = SUPERWEAPON_CarpetBomb CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = PhysicsBehavior ModuleTag_07 Mass = 500.0 End Behavior = DeliverPayloadAIUpdate ModuleTag_08 DoorDelay = 500 MaxAttempts = 4 DropOffset = X:0 Y:0 Z:-10 DropDelay = 300 ; time in between each item dropped (if more than one) PutInContainer = AmericaParachute DeliveryDistance = 150 End Locomotor = SET_NORMAL B52Locomotor Behavior = TransportContain ModuleTag_09 Slots = 100 ; hey, it's a BIG transport ScatterNearbyOnExit = No OrientLikeContainerOnExit = Yes KeepContainerVelocityOnExit = Yes ExitPitchRate = 30 ExitBone = WeaponA01 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em NumberOfExitPaths = 0 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' End Behavior = JetSlowDeathBehavior ModuleTag_10 DestructionDelay = 2000 RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetBigDeathInitial OCLInitialDeath = OCL_AmericaJetCargoDeathStart DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time OCLSecondary = OCL_AmericaJetCargoHulkDeath FXSecondary = FX_BigPlaneDeath ; FXFinalBlowUp = FX_JetDeathFinalBlowUp ; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = TransitionDamageFX ModuleTag_11 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_12 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 60.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object SupW_AmericaJetAurora ; *** ART Parameters *** SelectPortrait = SAFulArAurora_L ButtonImage = SAFulArAurora UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaCountermeasures ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVAuroraSW HideSubObject = BurnerFX03 BurnerFX04 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburner ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = REALLYDAMAGED Model = AVAuroraSW_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke End ConditionState = REALLYDAMAGED JETEXHAUST Model = AVAuroraSW_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = AVAuroraSW_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; afterburner ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE Model = AVAurora_D1 HideSubObject = None ShowSubObject = None End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = AVAurora_D1 ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:SupW_Aurora EditorSorting = VEHICLE Side = AmericaSuperWeaponGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 180.0 ShroudClearingRange = 600 Prerequisites Object = SupW_AmericaAirfield Object = SupW_AmericaStrategyCenter End BuildCost = 2000 BuildTime = 30.0 ;in seconds WeaponSet Conditions = None Weapon = PRIMARY SupW_AuroraFuelBombWeapon End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End ExperienceValue = 200 200 400 400 ;Experience point value at each level ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = SupW_AmericaJetAuroraCommandSet ; *** AUDIO Parameters *** VoiceSelect = AuroraBomberVoiceSelect VoiceMove = AuroraBomberVoiceMove VoiceGuard = AuroraBomberVoiceMove VoiceAttack = AuroraBomberVoiceAttack SoundAmbient = AuroraBomberAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds VoiceCreate = AuroraBomberVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceLowFuel = AuroraBomberVoiceLowFuel VoiceGarrison = AuroraBomberVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 80.0 InitialHealth = 80.0 End Behavior = JetSlowDeathBehavior ModuleTag_03 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_AuroraDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_AuroraDeathInitial ;OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary ;OCLSecondary = None FXHitGround = FX_JetDeathHitGround ;OCLHitGround = None DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = EjectPilotDie ModuleTag_04 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End Behavior = ExperienceScalarUpgrade ModuleTag_06 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = JetAIUpdate ModuleTag_07 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 SneakyOffsetWhenAttacking = -20.0 ; this is how far behind us people aim when we are in attack mode AttackLocomotorType = SET_SUPERSONIC AttackLocomotorPersistTime = 100 ; we start slowing down almost immediately AttackersMissPersistTime = 2000 ; but remain untargetable fer a bit longer ReturnForAmmoLocomotorType = SET_SLUGGISH ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Locomotor = SET_NORMAL AuroraJetLocomotor Locomotor = SET_SUPERSONIC AuroraJetSupersonicLocomotor Locomotor = SET_SLUGGISH AuroraJetSluggishLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 2 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 60.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_22 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Geometry = Box GeometryIsSmall = Yes GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 5.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object SupW_AmericaJetStealthFighter ; *** ART Parameters *** SelectPortrait = SAStealth_L ButtonImage = SAStealth UpgradeCameo1 = Upgrade_AmericaLaserMissiles UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_AmericaCountermeasures UpgradeCameo4 = Upgrade_AmericaBunkerBusters ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVStealth HideSubObject = BurnerFX03 BurnerFX04 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburners ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = REALLYDAMAGED Model = AVStealth_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke End ConditionState = REALLYDAMAGED JETEXHAUST Model = AVStealth_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = AVStealth_D ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail ; afterburners ShowSubObject = BurnerFX03 BurnerFX04 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = RUBBLE Model = AVStealth_D1 HideSubObject = None ShowSubObject = None End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = AVStealth_D1 ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:StealthFighter EditorSorting = VEHICLE Side = AmericaSuperWeaponGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 180.0 ShroudClearingRange = 300.0 Prerequisites Object = SupW_AmericaAirfield Science = SCIENCE_StealthFighter End WeaponSet Conditions = None Weapon = PRIMARY StealthJetMissileWeapon End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End BuildCost = 1600 BuildTime = 25.0 ;in seconds ExperienceValue = 100 100 200 300 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ; Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaJetStealthFighterCommandSet ; *** AUDIO Parameters *** VoiceSelect = StealthFighterVoiceSelect VoiceMove = StealthFighterVoiceMove VoiceAttack = StealthFighterVoiceAttack VoiceAttackAir = StealthFighterVoiceAttackAir VoiceGuard = StealthFighterVoiceAirPatrol SoundAmbient = StealthFighterAmbientLoop SoundAmbientRubble = NoSound SoundStealthOn = StealthOn SoundStealthOff = StealthOff UnitSpecificSounds VoiceCreate = StealthFighterVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceLowFuel = AuroraBomberVoiceLowFuel VoiceGarrison = StealthFighterVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = LOCAL_UNIT_ONLY KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = JetSlowDeathBehavior ModuleTag_03 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_StealthDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_StealthFighterDeathInitial ;OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary ;OCLSecondary = None FXHitGround = FX_JetDeathHitGround ;OCLHitGround = None DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_StealthDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = EjectPilotDie ModuleTag_04 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End Behavior = JetAIUpdate ModuleTag_06 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Behavior = ExperienceScalarUpgrade ModuleTag_08 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = StealthUpdate ModuleTag_09 StealthDelay = 1500 ; msec StealthForbiddenConditions = FIRING_PRIMARY ; not currently used... but maybe someday? (srj) ;RevealDistanceFromTarget = 0.0f FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 2 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 60.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Locomotor = SET_NORMAL StealthJetLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_22 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Geometry = Cylinder GeometryIsSmall = Yes GeometryMajorRadius = 7.0 GeometryMinorRadius = 7.0 GeometryHeight = 7.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object SupW_AmericaVehicleComanche ; *** ART Parameters *** SelectPortrait = SACCommanche_L ButtonImage = SACCommanche UpgradeCameo1 = Upgrade_ComancheRocketPods UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_AmericaCountermeasures ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVComanche HideSubObject = MissileUpgrade Animation = AVComanche.AVComanche AnimationMode = LOOP WeaponMuzzleFlash = PRIMARY TurretFX WeaponFireFXBone = PRIMARY Muzzle WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle End ConditionState = REALLYDAMAGED Model = AVComanche_d Animation = AVComanche_d.AVComanche_d AnimationMode = LOOP End ConditionState = WEAPONSET_PLAYER_UPGRADE ShowSubObject = MissileUpgrade Animation = AVComanche.AVComanche AnimationMode = LOOP WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = AVComanche_d ShowSubObject = MissileUpgrade Animation = AVComanche_d.AVComanche_d AnimationMode = LOOP WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End ConditionState = RUBBLE Model = AVComanche_d Animation = AVComanche_d.AVComanche_d AnimationMode = LOOP End ConditionState = RUBBLE SPECIAL_DAMAGED Model = AVComanche_d HideSubObject = AVComanche_Prop End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Comanche EditorSorting = VEHICLE Side = AmericaSuperWeaponGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 200.0 ShroudClearingRange = 600 Prerequisites Object = SupW_AmericaAirfield End WeaponSet Conditions = None ; ----- Weapon = PRIMARY Comanche20mmCannonWeapon PreferredAgainst = PRIMARY INFANTRY AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = SECONDARY ComancheAntiTankMissileWeapon PreferredAgainst = SECONDARY VEHICLE STRUCTURE AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = TERTIARY NONE End WeaponSet Conditions = PLAYER_UPGRADE ; ----- Weapon = PRIMARY Comanche20mmCannonWeapon PreferredAgainst = PRIMARY INFANTRY AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = SECONDARY ComancheAntiTankMissileWeapon PreferredAgainst = SECONDARY VEHICLE STRUCTURE AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = TERTIARY ComancheRocketPodWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = ComancheArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresComancheArmor DamageFX = None End BuildCost = 1800 BuildTime = 20 ; in seconds ExperienceValue = 50 50 100 200 ; Experience point value at each level ExperienceRequired = 0 100 200 400 ; Experience points needed to gain each level IsTrainable = Yes ; Can gain experience CommandSet = SupW_AmericaVehicleComancheCommandSet ; *** AUDIO Parameters *** VoiceSelect = ComancheVoiceSelect VoiceMove = ComancheVoiceMove VoiceGuard = ComancheVoiceMove VoiceAttack = ComancheVoiceAttack SoundAmbient = ComancheAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = ComancheVoiceCreate SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject Afterburner = RaptorAfterburner VoiceGarrison = ComancheVoiceMove TurretMoveStart = NoSound TurretMoveLoop = NoSound VoiceFireRocketPods = ComancheVoiceAttackRocket End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT PRODUCED_AT_HELIPAD Behavior = WeaponSetUpgrade ModuleTag_02 TriggeredBy = Upgrade_ComancheRocketPods End Behavior = ExperienceScalarUpgrade ModuleTag_03 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Body = ActiveBody ModuleTag_04 MaxHealth = 220.0 InitialHealth = 220.0 End Behavior = FXListDie ModuleTag_05 DeathFX = FX_ComancheStartDeath End Behavior = JetAIUpdate ModuleTag_06 MinHeight = 5 NeedsRunway = No KeepsParkingSpaceWhenAirborne = No AutoAcquireEnemiesWhenIdle = Yes ; note that comanches do not return to base when idle ; this is a bit of a trick... normally, units cannot move-and-fire at ; the same time. we need the comanche to be able to. so we give it ; a "turret" (invisible) and put the two main weapons on it, but with ; no turn rate. voila! Turret TurretTurnRate = 0 ; this "turret" does not turn TurretPitchRate = 0 ; nor does it pitch ControlledWeaponSlots = PRIMARY SECONDARY End End Locomotor = SET_NORMAL ComancheLocomotor Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor Behavior = PhysicsBehavior ModuleTag_07 Mass = 50.0 End Behavior = HelicopterSlowDeathBehavior ModuleTag_08 DestructionDelay = 99999999 ; the destruction delay SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) SoundDeathLoop = ComancheDamagedLoop MinSelfSpin = 100 ; in degrees per second MaxSelfSpin = 300 ; in degrees per second SelfSpinUpdateDelay = 100 ; in milliseconds SelfSpinUpdateAmount = 10 ; in degrees FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall MinBladeFlyOffDelay = 1500 ; in milliseconds MaxBladeFlyOffDelay = 1500 ; in milliseconds AttachParticle = SootySmokeTrail AttachParticleBone = Propeller02 BladeObjectName = ComancheBlades BladeBoneName = Propeller01 ; Most things that eject pilots do so immediately upon death, ; via use of EjectPilotDie, but Helicopters are a special case... ; they need to do so after their blades are ejected. OCLEjectPilot = OCL_EjectPilotViaParachute FXBlade = FX_HelicopterBladeExplosion OCLBlade = OCL_HelicopterBladeExplosion FXHitGround = FX_HelicopterHitGround OCLHitGround = OCL_HelicopterHitGround FXFinalBlowUp = FX_GroundedHelicopterBlowUp OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp DelayFromGroundToFinalDeath = 1500 FinalRubbleObject = ComancheRubbleHull End Behavior = TransitionDamageFX ModuleTag_09 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 2 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 60.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 4000 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 3.0 GeometryHeight = 25.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object SupW_AmericaJetA10Thunderbolt ; *** ART Parameters *** SelectPortrait = SAWarthog_L ButtonImage = SAWarthog Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = WeaponA01 ExtraPublicBone = WeaponA02 ExtraPublicBone = WeaponA03 ExtraPublicBone = WeaponA04 ExtraPublicBone = WeaponA05 ExtraPublicBone = WeaponA06 DefaultConditionState Model = AVWarthog WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 ParticleSysBone = Engine01 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Wingtip01 JetContrailThin ParticleSysBone = Wingtip02 JetContrailThin End ConditionState = REALLYDAMAGED Model = AVWarthog_D WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End AliasConditionState = RUBBLE ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:A10Thunderbolt EditorSorting = VEHICLE Side = AmericaSuperWeaponGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 300 Prerequisites Object = SupW_AmericaAirfield End WeaponSet Conditions = None Weapon = PRIMARY A10ThunderboltVulcan End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience ; *** AUDIO Parameters *** SoundAmbient = A10ThunderboltAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject StartDive = A10ThunderboltDive End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE AIRCRAFT SCORE IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_02 MaxHealth = 600.0 InitialHealth = 600.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = JetSlowDeathBehavior ModuleTag_03 DestructionDelay = 99999999 ; destruction will happen when we RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetDeathInitial OCLInitialDeath = None DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary OCLSecondary = None FXHitGround = FX_JetDeathHitGround OCLHitGround = OCL_A10DeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_A10DeathFinalBlowUp End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End ;SCRIPTED SUPPORT: These special power is triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = SuperweaponA10ThunderboltMissileStrike ;@@KRIS@@ UpgradeOCL = SCIENCE_A10ThunderboltMissileStrike3 SUPERWEAPON_A10ThunderboltMissileStrike3 UpgradeOCL = SCIENCE_A10ThunderboltMissileStrike2 SUPERWEAPON_A10ThunderboltMissileStrike2 OCL = SUPERWEAPON_A10ThunderboltMissileStrike1 CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = DeliverPayloadAIUpdate ModuleTag_07 End Locomotor = SET_NORMAL A10ThunderboltLocomotor Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_10 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 3 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_22 ;;;;;;;; End Geometry = Cylinder GeometryIsSmall = Yes GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object SupW_AmericaVehicleChinook ; *** ART Parameters *** SelectPortrait = SAChinook_L ButtonImage = SAChinook ;UpgradeCameo1 = Upgrade_AmericaCountermeasures ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 ; Helicopter ExtraPublicBone = RopeStart ExtraPublicBone = RopeEnd DefaultConditionState Model = AVChinook Animation = AVChinook.AVChinook AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = AVChinook_d Animation = AVChinook_d.AVChinook_d AnimationMode = LOOP End ConditionState = RUBBLE Model = AVChinook_d Animation = AVChinook_d.AVChinook_d AnimationMode = LOOP End ConditionState = RUBBLE SPECIAL_DAMAGED Model = AVChinook_d HideSubObject = Props01 HideSubObject = Props02 End OkToChangeModelColor = Yes End Draw = W3DModelDraw ModuleTag_02 ; Cargo net ConditionState = NONE Model = None ; Nothing here TransitionKey = TRANS_Empty WaitForStateToFinishIfPossible = TRANS_Unloading End ConditionState = DYING Model = None ; Nothing here End AliasConditionState = RUBBLE AliasConditionState = CARRYING RUBBLE AliasConditionState = DOCKING RUBBLE AliasConditionState = DOCKING CARRYING RUBBLE ConditionState = CARRYING Model = AVChinook_A ;Carrying a full wobbly net of stuff Animation = AVChinook_A.AVChinook_A AnimationMode = LOOP TransitionKey = TRANS_Full WaitForStateToFinishIfPossible = TRANS_PickingUp End ConditionState = DOCKING Model = AVChinook_A1MSH ;Lowering an empty net, pulling up with stuff Animation = AVChinook_A1SK.AVChinook_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST AnimationSpeedFactorRange = .75 .75 TransitionKey = TRANS_PickingUp WaitForStateToFinishIfPossible = TRANS_Unloading ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. End ConditionState = DOCKING CARRYING Model = AVChinook_A1MSH ; Lowering a full net, letting stuff fall out, and pulling up an empty net Animation = AVChinook_A1SK.AVChinook_A1 AnimationMode = ONCE AnimationSpeedFactorRange = 2.75 2.75 TransitionKey = TRANS_Unloading WaitForStateToFinishIfPossible = TRANS_PickingUp ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. End End ; ***DESIGN parameters *** DisplayName = OBJECT:Chinook EditorSorting = VEHICLE Side = AmericaSuperWeaponGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 600 BuildCost = 1200 BuildTime = 10.0 ;in seconds Prerequisites Object = SupW_AmericaSupplyCenter End ExperienceValue = 50 50 50 50 ;Experience point value at each level IsTrainable = No CommandSet = SupW_AmericaVehicleChinookCommandSet ArmorSet Conditions = None Armor = ChinookArmor DamageFX = None End ; *** AUDIO Parameters *** VoiceSelect = ChinookVoiceSelect VoiceMove = ChinookVoiceMove VoiceAttack = ChinookVoiceAttack SoundAmbient = ChinookAmbientLoop SoundAmbientRubble = NoSound SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds VoiceCreate = ChinookVoiceCreate VoiceSupply = ChinookVoiceSupply VoiceUnload = ChinookVoiceUnload VoiceCombatDrop = ChinookVoiceCombatDrop VoiceClearBuilding = RangerVoiceClearBuilding ;Special combat drop that clears buildings! VoiceGarrison = ChinookVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT ; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at ; (well, "near" actually) an Airfield to get healed... ; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there. KindOf = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT HARVESTER SCORE PRODUCED_AT_HELIPAD Body = ActiveBody ModuleTag_03 MaxHealth = 300.0 InitialHealth = 300.0 End Behavior = FXListDie ModuleTag_05 DeathFX = FX_HelicopterStartDeath End Behavior = TransitionDamageFX ModuleTag_06 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition End Behavior = ChinookAIUpdate ModuleTag_07 MaxBoxes = 8 SupplyCenterActionDelay = 3000 ; ms for whole thing (one transaction) SupplyWarehouseActionDelay = 1250 ; 875 ; ms per box (many small transactions) SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan) SuppliesDepletedVoice = ChinookVoiceSuppliesDepleted NumRopes = 4 ; these define how long we can wait, once a guy is on-rope, before throwing another ; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely ; and we'll wait for each guy to clear before spawning another. PerRopeDelayMin = 900 PerRopeDelayMax = 1500 RopeWidth = 0.5 RopeColor = R:0 G:0 B:0 RopeWobbleLen = 10 RopeWobbleAmplitude = 0.25 RopeWobbleRate = 180 RopeFinalHeight = 10 ; stop this far above ground RappelSpeed = 30 MinDropHeight = 40 ; if dropping into a tall bldg, go at least this far above it UpgradedSupplyBoost = 60 ; increase in value of the crates when supply lines has been upgraded End Locomotor = SET_NORMAL ChinookLocomotor Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor Behavior = TransportContain ModuleTag_08 Slots = 8 DamagePercentToUnits = 100% AllowInsideKindOf = INFANTRY VEHICLE ForbidInsideKindOf = AIRCRAFT HUGE_VEHICLE ExitDelay = 100 NumberOfExitPaths = 1 End Behavior = PhysicsBehavior ModuleTag_09 Mass = 50.0 End Behavior = HelicopterSlowDeathBehavior ModuleTag_10 DestructionDelay = 99999999 ; the destruction delay SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) SoundDeathLoop = ComancheDamagedLoop MinSelfSpin = 100 ; in degrees per second MaxSelfSpin = 300 ; in degrees per second SelfSpinUpdateDelay = 100 ; in milliseconds SelfSpinUpdateAmount = 10 ; in degrees FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall MinBladeFlyOffDelay = 1500 ; in milliseconds MaxBladeFlyOffDelay = 1500 ; in milliseconds AttachParticle = SootySmokeTrail AttachParticleBone = Propeller02 BladeObjectName = ComancheBlades BladeBoneName = Propeller01 FXBlade = FX_HelicopterBladeExplosion OCLBlade = OCL_HelicopterBladeExplosion FXHitGround = FX_HelicopterHitGround OCLHitGround = OCL_HelicopterHitGround FXFinalBlowUp = FX_GroundedHelicopterBlowUp OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp DelayFromGroundToFinalDeath = 30 FinalRubbleObject = ChinookRubbleHull End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 6.0 GeometryHeight = 12.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object SupW_AmericaJetCargoPlane ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVCargoPln Animation = AVCargoPln.AVCargoPln AnimationMode = LOOP ParticleSysBone = Propeller01 JetBlackTrailThin ParticleSysBone = Propeller02 JetBlackTrailThin ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin End ConditionState = DAMAGED Model = AVCargoPln_D Animation = AVCargoPln_D.AVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = REALLYDAMAGED Model = AVCargoPln_D Animation = AVCargoPln_D.AVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke03 JetFireLarge ParticleSysBone = Smoke05 JetFireLarge ParticleSysBone = Propeller03 JetBlackTrailThin ParticleSysBone = Propeller04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke05 JetSmokeLarge End ConditionState = RUBBLE Model = AVCargoPln_D1 Animation = AVCargoPln_D.AVCargoPln_D AnimationMode = MANUAL Flags = START_FRAME_FIRST ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke06 JetFireLarge ParticleSysBone = Smoke03 JetFireLarge ParticleSysBone = Smoke05 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke06 JetSmokeLarge ParticleSysBone = Smoke03 JetSmokeLarge ParticleSysBone = Smoke05 JetSmokeLarge End OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = Yes End Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = AVCargoPln_A2 Animation = AVCargoPln_A2.AVCargoPln_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING Model = AVCargoPln_A2 Animation = AVCargoPln_A2.AVCargoPln_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_CLOSING Model = AVCargoPln_A2 Animation = AVCargoPln_A2.AVCargoPln_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:CargoPlane EditorSorting = VEHICLE Side = AmericaSuperWeaponGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 0.0 ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = TankDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End CommandSet = Command_ScriptedTransportDrops ; *** AUDIO Parameters *** SoundAmbient = C130AmbientLoop SoundAmbientRubble = NoSound ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT FORCEATTACKABLE IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 1000.0 InitialHealth = 1000.0 End ExperienceValue = 40 40 40 40 ; Experience point value at each level Behavior = PhysicsBehavior ModuleTag_04 Mass = 500.0 End ;SCRIPTED SUPPORT: These special powers are triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_05 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ OCL = SUPERWEAPON_DaisyCutter CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = SuperweaponParadropAmerica UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 OCL = SUPERWEAPON_Paradrop1 CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_07 SpecialPowerTemplate = SuperweaponCarpetBomb OCL = SUPERWEAPON_CarpetBomb CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_08 SpecialPowerTemplate = SuperweaponCrateDrop OCL = SUPERWEAPON_CrateDrop CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = DeliverPayloadAIUpdate ModuleTag_09 DoorDelay = 500 MaxAttempts = 4 DropOffset = X:0 Y:0 Z:-10 DropDelay = 1000 ; time in between each item dropped (if more than one) PutInContainer = AmericaParachute DeliveryDistance = 150 End Locomotor = SET_NORMAL B52Locomotor Behavior = TransportContain ModuleTag_10 Slots = 100 ; hey, it's a BIG transport ScatterNearbyOnExit = No OrientLikeContainerOnExit = Yes KeepContainerVelocityOnExit = Yes ExitPitchRate = 30 ExitBone = WeaponA01 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE ;gs I added parachutable as a catch all to prevent making new kindofs (like CRATE) DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em NumberOfExitPaths = 0 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' End Behavior = JetSlowDeathBehavior ModuleTag_11 DestructionDelay = 2000 RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetBigDeathInitial OCLInitialDeath = OCL_AmericaJetCargoDeathStart DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time OCLSecondary = OCL_AmericaJetCargoHulkDeath FXSecondary = FX_BigPlaneDeath ; FXFinalBlowUp = FX_JetDeathFinalBlowUp ; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_12 ;;;;;;;; End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_13 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Behavior = TransitionDamageFX ModuleTag_17 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition End Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 40.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object SupW_AmericaInfantryColonelBurton ; *** ART Parameters *** SelectPortrait = SABurton_L ButtonImage = SABurton UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaChemicalSuits Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; idle DefaultConditionState Model = AIHERO_SKN IdleAnimation = AIHERO_SKL.AIHERO_STA 0 25 IdleAnimation = AIHERO_SKL.AIHERO_IDA IdleAnimation = AIHERO_SKL.AIHERO_IDB AnimationMode = ONCE TransitionKey = TRANS_Stand WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponMuzzleFlash = SECONDARY NONE HideSubObject = MUZZLEFX01 End ; injured idle ConditionState = REALLYDAMAGED IdleAnimation = AIHERO_SKL.AIHERO_ISTA 0 30 IdleAnimation = AIHERO_SKL.AIHERO_IIDA IdleAnimation = AIHERO_SKL.AIHERO_IIDB AnimationMode = ONCE TransitionKey = TRANS_StandInjured End TransitionState = TRANS_Stand TRANS_StandInjured Animation = AIHERO_SKL.AIHERO_ISTAHIT AnimationMode = ONCE End ; moving ConditionState = MOVING Animation = AIHERO_SKL.AIHERO_RNA 26 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Walking ParticleSysBone = None InfantryDustTrails HideSubObject = MUZZLEFX01 End AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING FIRING_B AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B AliasConditionState = MOVING RELOADING_B ; injured moving ConditionState = MOVING REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IRNA 26 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_WalkingInjured ParticleSysBone = None InfantryDustTrails HideSubObject = MUZZLEFX01 End AliasConditionState = MOVING FIRING_A REALLYDAMAGED AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED AliasConditionState = MOVING RELOADING_A REALLYDAMAGED AliasConditionState = MOVING FIRING_B REALLYDAMAGED AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_B REALLYDAMAGED AliasConditionState = MOVING RELOADING_B REALLYDAMAGED ; Firing animation ConditionState = FIRING_A Animation = AIHERO_SKL.AIHERO_ATA AnimationMode = ONCE AnimationSpeedFactorRange = 1.5 1.5 TransitionKey = TRANS_FiringA End ConditionState = BETWEEN_FIRING_SHOTS_A Animation = AIHERO_SKL.AIHERO_ATA AnimationMode = MANUAL Flags = START_FRAME_LAST WaitForStateToFinishIfPossible = TRANS_FiringA End AliasConditionState = RELOADING_A ; Injured Firing animation ConditionState = FIRING_A REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATA AnimationMode = ONCE AnimationSpeedFactorRange = 1.5 1.5 TransitionKey = TRANS_FiringAInjured End ConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATA AnimationMode = MANUAL Flags = START_FRAME_LAST WaitForStateToFinishIfPossible = TRANS_FiringAInjured End AliasConditionState = RELOADING_A REALLYDAMAGED TransitionState = TRANS_FiringA TRANS_FiringAInjured Animation = AIHERO_SKL.AIHERO_IATAHIT AnimationMode = ONCE End ; Placing charge animation ConditionState = UNPACKING Animation = AIHERO_SKL.AIHERO_ATB1 AnimationMode = ONCE End AliasConditionState = MOVING UNPACKING ; Injured Placing charge animation ConditionState = UNPACKING REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATB1 AnimationMode = ONCE End AliasConditionState = MOVING UNPACKING REALLYDAMAGED ; Stab animations ConditionState = PREATTACK_B Animation = AIHERO_SKL.AIHERO_ATC AnimationMode = ONCE TransitionKey = TRANS_Stabbing HideSubObject = MUZZLEFX01 End AliasConditionState = PREATTACK_B MOVING AliasConditionState = PREATTACK_B FIRING_B AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B ConditionState = FIRING_B Animation = AIHERO_SKL.AIHERO_ATC AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_Stabbing HideSubObject = MUZZLEFX01 End AliasConditionState = BETWEEN_FIRING_SHOTS_B AliasConditionState = RELOADING_B TransitionState = TRANS_Stabbing TRANS_Stand Animation = AIHERO_SKL.AIHERO_ATC2 AnimationMode = ONCE End ; Injured Stab animations ConditionState = PREATTACK_B REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATC1 AnimationMode = ONCE TransitionKey = TRANS_StabbingInjured HideSubObject = MUZZLEFX01 End AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED ConditionState = FIRING_B REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_IATC2 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_StabbingInjured HideSubObject = MUZZLEFX01 End AliasConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED AliasConditionState = RELOADING_B REALLYDAMAGED TransitionState = TRANS_StabbingInjured TRANS_StandInjured Animation = AIHERO_SKL.AIHERO_IATC2 AnimationMode = ONCE End ; cheering ConditionState = SPECIAL_CHEERING Animation = AIHERO_SKL.AIHERO_CHA AnimationMode = ONCE End ; injured cheering ConditionState = SPECIAL_CHEERING REALLYDAMAGED Animation = AIHERO_SKL.AIHERO_ICHA AnimationMode = ONCE End ; climbing ConditionState = CLIMBING Animation = AIHERO_SKL.AIHERO_CLMID AnimationMode = LOOP TransitionKey = TRANS_Climbing End AliasConditionState = RAPPELLING AliasConditionState = CLIMBING REALLYDAMAGED AliasConditionState = RAPPELLING REALLYDAMAGED ConditionState = CLIMBING MOVING Animation = AIHERO_SKL.AIHERO_CLMUP AnimationMode = LOOP TransitionKey = TRANS_Climbing End AliasConditionState = CLIMBING MOVING REALLYDAMAGED ConditionState = RAPPELLING MOVING Animation = AIHERO_SKL.AIHERO_CLMUP AnimationMode = LOOP_BACKWARDS TransitionKey = TRANS_Climbing End AliasConditionState = RAPPELLING MOVING REALLYDAMAGED ; these transitions don't really work well with our code. leave 'em out. ; TransitionState = TRANS_Climbing TRANS_Stand ; Animation = AIHERO_SKL.AIHERO_CLMST ; AnimationMode = ONCE ; End ; ; TransitionState = TRANS_Stand TRANS_Climbing ; Animation = AIHERO_SKL.AIHERO_CLMST ; AnimationMode = ONCE_BACKWARDS ; End ; dying anims ConditionState = DYING Animation = AIHERO_SKL.AIHERO_DTA Animation = AIHERO_SKL.AIHERO_DTB Animation = AIHero_SKL.AIHero_IDTA Animation = AIHero_SKL.AIHero_IDTB AnimationMode = ONCE TransitionKey = TRANS_Dying End AliasConditionState = RAPPELLING DYING AliasConditionState = CLIMBING DYING TransitionState = TRANS_Dying TRANS_Flailing Animation = AIHERO_SKL.AIHERO_ADTG21 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIHERO_SKL.AIHERO_ADTG22 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIHERO_SKL.AIHERO_ADTG23 AnimationMode = ONCE TransitionKey = None End ; misc anims ConditionState = FREEFALL Animation = AIHERO_SKL.AIHERO_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIHERO_SKL.AIHERO_PHG AnimationMode = LOOP TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = AIHERO_SKL.AIHERO_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = AIHERO_SKL.AIHERO_PTD AnimationMode = ONCE End TransitionState = TRANS_Chute TRANS_StandInjured Animation = AIHERO_SKL.AIHERO_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:ColonelBurton Side = AmericaSuperWeaponGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY ColonelBurtonSniperRifleWeapon Weapon = SECONDARY ColonelBurtonKnifeWeapon AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = SECONDARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 500 Prerequisites Object = SupW_AmericaBarracks Object = SupW_AmericaStrategyCenter End BuildCost = 1200 BuildTime = 20.0 ;in seconds ExperienceValue = 50 100 100 150 ; Experience point value at each level ExperienceRequired = 0 200 300 600 ; Experience points needed to gain each level IsTrainable = Yes ; Can gain experience CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = SupW_AmericaInfantryColonelBurtonCommandSet MaxSimultaneousOfType = 1 ; *** AUDIO Parameters *** VoiceSelect = ColonelBurtonVoiceSelect VoiceMove = ColonelBurtonVoiceMove VoiceAttack = ColonelBurtonVoiceAttack VoiceFear = ColonelBurtonVoiceFear VoiceGuard = ColonelBurtonVoiceMove SoundStealthOn = StealthOn SoundStealthOff = StealthOff UnitSpecificSounds VoiceMelee = ColonelBurtonVoiceAttackKnife VoiceCreate = ColonelBurtonVoiceCreate VoiceGarrison = ColonelBurtonVoiceGarrison VoiceEnter = ColonelBurtonVoiceMove VoiceEnterHostile = ColonelBurtonVoiceMove VoiceGetHealed = ColonelBurtonVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE HERO CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 200.0 InitialHealth = 200.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. End Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor ColonelBurtonCliffLocomotor Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = StealthUpdate ModuleTag_07 StealthDelay = 2000 ; msec StealthForbiddenConditions = FIRING_PRIMARY HintDetectableConditions = IS_FIRING_WEAPON FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes EnemyDetectionEvaEvent = EnemyColonelBurtonDetected OwnDetectionEvaEvent = OwnColonelBurtonDetected End Behavior = SpecialAbility ModuleTag_08 SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges UpdateModuleStartsAttack = Yes InitiateSound = ColonelBurtonVoicePlantRemoteCharge End Behavior = SpecialAbilityUpdate ModuleTag_09 SpecialPowerTemplate = SpecialAbilityColonelBurtonRemoteCharges StartAbilityRange = 0.0 PreparationTime = 0 SpecialObject = RemoteC4Charge MaxSpecialObjects = 8 SpecialObjectsPersistWhenOwnerDies = No ;Charges are removed instantly when owner dies (nobody can detonate). AlwaysValidateSpecialObjects = Yes ;Coupled with the above setting, this one is necessary for code optimization. SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge PackTime = 0 SkipPackingWithNoTarget = Yes ;When yes, the packing/unpacking will be ignored when detonating charges. FlipOwnerAfterUnpacking = Yes FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability UnpackSound = ColonelBurtonPlantCharge LoseStealthOnTrigger = Yes PreTriggerUnstealthTime = 5000 ; in milliseconds End Behavior = SpecialAbility ModuleTag_10 SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges UpdateModuleStartsAttack = Yes InitiateSound = ColonelBurtonVoicePlantTimedCharge End Behavior = SpecialAbilityUpdate ModuleTag_11 SpecialPowerTemplate = SpecialAbilityColonelBurtonTimedCharges StartAbilityRange = 0.0 PreparationTime = 0 SpecialObject = TimedC4Charge MaxSpecialObjects = 10 SpecialObjectsPersistWhenOwnerDies = Yes SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge FlipOwnerAfterUnpacking = Yes FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability UnpackSound = ColonelBurtonPlantCharge LoseStealthOnTrigger = Yes PreTriggerUnstealthTime = 5000 ; in milliseconds End Behavior = ExperienceScalarUpgrade ModuleTag_12 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End ;Hero units can't be squished! ;Behavior = SquishCollide ModuleTag_13 ; ;nothing ;End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_ColonelBurtonDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_ColonelBurtonDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_18 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14 ShadowSizeY = 14 ShadowTexture = ShadowI BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object SupW_AmericaInfantryRanger ; *** ART Parameters *** SelectPortrait = SARanger_L ButtonImage = SARanger UpgradeCameo1 = Upgrade_AmericaRangerFlashBangGrenade UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_InfantryCaptureBuilding UpgradeCameo4 = Upgrade_AmericaChemicalSuits ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; this says "we don't use these condition states at all, so completely ; ignore them for purposes of matchmaking"... this is useful to help ; reduce the number of AliasConditionState clauses you must add in ; order to avoid ambiguity in some cases. IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A ; --- Idle DefaultConditionState Model = AIRngr_SKN IdleAnimation = AIRngr_SKL.AIRngr_STA 0 35 IdleAnimation = AIRngr_SKL.AIRngr_IDA IdleAnimation = AIRngr_SKL.AIRngr_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY Muzzle WeaponLaunchBone = SECONDARY Muzzle TransitionKey = TRANS_Stand End ConditionState = REALLYDAMAGED IdleAnimation = AIRngr_SKL.AIRngr_STB 0 35 IdleAnimation = AIRngr_SKL.AIRngr_IDC IdleAnimation = AIRngr_SKL.AIRngr_IDD AnimationMode = ONCE TransitionKey = TRANS_StandInjured End TransitionState = TRANS_Stand TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_SA2SB AnimationMode = ONCE End ; --- attacking (Machine Gun) ConditionState = USING_WEAPON_A Animation = AIRngr_SKL.AIRngr_ATA AnimationMode = LOOP TransitionKey = TRANS_FiringA End ConditionState = USING_WEAPON_A REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATA2 AnimationMode = LOOP TransitionKey = TRANS_FiringAInjured End TransitionState = TRANS_FiringA TRANS_FiringAInjured Animation = AIRngr_SKL.AIRngr_A2WAA AnimationMode = ONCE End TransitionState = TRANS_Stand TRANS_FiringA Animation = AIRngr_SKL.AIRngr_ATAST AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_FiringA TRANS_Stand Animation = AIRngr_SKL.AIRngr_ATAED AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_StandInjured TRANS_FiringAInjured Animation = AIRngr_SKL.AIRngr_S2WAA AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_FiringAInjured TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_WAA2S AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_Stand TRANS_Move Animation = AIRngr_SKL.AIRngr_STA2RNA AnimationMode = ONCE End ; --- attacking (Grenade Launcher) ConditionState = PREATTACK_B Animation = AIRngr_SKL.AIRngr_ATBA AnimationMode = ONCE TransitionKey = TRANS_FiringB End AliasConditionState = PREATTACK_B MOVING AliasConditionState = PREATTACK_B FIRING_B AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B ConditionState = FIRING_B Animation = AIRngr_SKL.AIRngr_ATBB AnimationMode = ONCE TransitionKey = TRANS_FiringB End ConditionState = BETWEEN_FIRING_SHOTS_B Animation = AIRngr_SKL.AIRngr_ATBB AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_FiringB WaitForStateToFinishIfPossible = TRANS_FiringB End AliasConditionState = RELOADING_B TransitionState = TRANS_Stand TRANS_FiringB Animation = AIRngr_SKL.AIRngr_ATBST1 AnimationMode = ONCE End TransitionState = TRANS_FiringB TRANS_Stand Animation = AIRngr_SKL.AIRngr_ATBST2 AnimationMode = ONCE End ConditionState = PREATTACK_B REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATB2A AnimationMode = ONCE TransitionKey = TRANS_FiringBInjured End AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED ConditionState = FIRING_B REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATB2B AnimationMode = ONCE TransitionKey = TRANS_FiringBInjured End ConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATB2B AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_FiringBInjured WaitForStateToFinishIfPossible = TRANS_FiringBInjured End AliasConditionState = RELOADING_B REALLYDAMAGED TransitionState = TRANS_StandInjured TRANS_FiringBInjured Animation = AIRngr_SKL.AIRngr_ATB2ST1 AnimationMode = ONCE End TransitionState = TRANS_FiringBInjured TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_ATB2ST2 AnimationMode = ONCE End ; -- cross-attack transitions TransitionState = TRANS_FiringA TRANS_FiringB Animation = AIRngr_SKL.AIRngr_ATA2AB AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_FiringB TRANS_FiringA Animation = AIRngr_SKL.AIRngr_ATA2AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 4 4 End ; --- moving ConditionState = MOVING Animation = AIRngr_SKL.AIRngr_RNA 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Move ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING ConditionState = MOVING REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_RNB 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Move End AliasConditionState = MOVING REALLYDAMAGED ATTACKING ; --- dying anims ConditionState = DYING Animation = AIRngr_SKL.AIRngr_DTA Animation = AIRngr_SKL.AIRngr_DTB AnimationMode = ONCE TransitionKey = None End TransitionState = TRANS_Dying TRANS_Flailing Animation = AIRngr_SKL.AIRngr_ADTF1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIRngr_SKL.AIRngr_ADTF2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIRngr_SKL.AIRngr_ADTF3 AnimationMode = ONCE TransitionKey = None End AliasConditionState = DYING SPLATTED ; --- cheering ConditionState = SPECIAL_CHEERING Animation = AIRngr_SKL.AIRngr_CHA AnimationMode = LOOP End ConditionState = SPECIAL_CHEERING REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_CHB AnimationMode = LOOP End ; ----- PARACHUTING ANIMATIONS ConditionState = FREEFALL Animation = AIRngr_SKL.AIRngr_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIRngr_SKL.AIRngr_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = AIRngr_SKL.AIRngr_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = AIRngr_SKL.AIRngr_PTD AnimationMode = ONCE End TransitionState = TRANS_Chute TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_PTD AnimationMode = ONCE End ; ------- Bldg-capture ConditionState = UNPACKING Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP1 AnimationMode = ONCE End AliasConditionState = UNPACKING REALLYDAMAGED ConditionState = RAISING_FLAG Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP2 AnimationMode = ONCE TransitionKey = TRANS_Raising End AliasConditionState = RAISING_FLAG REALLYDAMAGED ConditionState = PACKING Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST TransitionKey = TRANS_Packing End AliasConditionState = PACKING REALLYDAMAGED TransitionState = TRANS_Raising TRANS_Packing Model = AIRngr_F_SKN Animation = AIRngr_F_SKL.AIRngr_F_FDP2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ; --- RAPPELLING ANIMATIONS ConditionState = RAPPELLING Animation = AIRngr_SKL.AIRngr_RPL1 ;30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Rappelling End AliasConditionState = MOVING RAPPELLING TransitionState = TRANS_Rappelling TRANS_Stand Animation = AIRngr_SKL.AIRngr_RPL2 AnimationMode = ONCE End TransitionState = TRANS_Rappelling TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_RPL2 AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Ranger Side = AmericaSuperWeaponGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY RangerAdvancedCombatRifle End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY RangerAdvancedCombatRifle Weapon = SECONDARY RangerFlashBangGrenadeWeapon AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI WeaponLockSharedAcrossSets = Yes ; This set is so similar to the default set that it can hold the weapon lock End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = None End VisionRange = 100 ShroudClearingRange = 400 Prerequisites Object = SupW_AmericaBarracks End BuildCost = 225 BuildTime = 5.0 ;in seconds ExperienceValue = 20 20 40 60 ;Experience point value at each level ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = SupW_AmericaInfantryRangerCommandSet ; *** AUDIO Parameters *** VoiceSelect = RangerVoiceSelect VoiceMove = RangerVoiceMove VoiceGuard = RangerVoiceMove VoiceAttack = RangerVoiceAttack VoiceFear = RangerVoiceFear VoiceTaskComplete = RangerVoiceCaptureComplete UnitSpecificSounds VoiceEnter = RangerVoiceMove VoiceEnterHostile = RangerVoiceMove VoiceGarrison = RangerVoiceGarrison VoiceCreate = RangerVoiceCreate VoiceSubdue = RangerVoiceSubdue VoiceClearBuilding = RangerVoiceClearBuilding VoiceGetHealed = RangerVoiceMove VoicePrimaryWeaponMode = RangerVoiceModeGun VoiceSecondaryWeaponMode = RangerVoiceModeFlashBang End UnitSpecificFX ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs CombatDropKillFX = FX_RangerCombatDropKill End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY CAN_RAPPEL SCORE Behavior = CommandButtonHuntUpdate ModuleTag_02 End Body = ActiveBody ModuleTag_03 MaxHealth = 180.0 InitialHealth = 180.0 End Behavior = ExperienceScalarUpgrade ModuleTag_04 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Behavior = AIUpdateInterface ModuleTag_06 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL BasicHumanLocomotor Behavior = PhysicsBehavior ModuleTag_07 Mass = 5.0 End Behavior = ProductionUpdate ModuleTag_08 ; nothing End Behavior = CommandButtonHuntUpdate ModuleTag_09 ; allows use of command button hunt script with this unit. End Behavior = WeaponSetUpgrade ModuleTag_10 TriggeredBy = Upgrade_AmericaRangerFlashBangGrenade End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RangerDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RangerDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = SquishCollide ModuleTag_12 ;nothing End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End Behavior = PoisonedBehavior ModuleTag_17 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SpecialAbility ModuleTag_18 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding UpdateModuleStartsAttack = Yes StartsPaused = Yes ; Unpaused by upgrade module InitiateSound = RangerVoiceCapture End Behavior = SpecialAbilityUpdate ModuleTag_19 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding StartAbilityRange = 5.0 UnpackTime = 3000 ; (changing this will scale anim speed) PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) PackTime = 2000 ; (changing this will scale anim speed) DoCaptureFX = Yes AwardXPForTriggering = 15 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_20 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding TriggeredBy = Upgrade_InfantryCaptureBuilding End Behavior = LockWeaponCreate ModuleTag_21 SlotToLock = PRIMARY ; Prevents indeterminate state plus two unpickable weapons equaling no attack. End Geometry = CYLINDER GeometryMajorRadius = 7.0 GeometryMinorRadius = 7.0 GeometryHeight = 13.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object SupW_AmericaInfantryMissileDefender ; *** ART Parameters *** SelectPortrait = SAMissleDefender_L ButtonImage = SAMissleDefender UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaChemicalSuits ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;***NOTE*** ;A little history -- the MissileDefender now uses the assets of the TankHunter. ;The TH uses assets of the GLA tunnel defender, and the TD uses assets of the NEW ;MD. It was a design/art/code decision because the new missile defender animations ;don't suit that of a mobile/offensive unit with packing and unpacking. DefaultConditionState Model = NITHNT_SKN IdleAnimation = NITHNT_SKL.NITHNT_STA 0 30 IdleAnimation = NITHNT_SKL.NITHNT_IDA IdleAnimation = NITHNT_SKL.NITHNT_IDB AnimationMode = ONCE AnimationSpeedFactorRange = 0.8 1.2 TransitionKey = TRANS_Stand WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = PRIMARY Muzzle WeaponLaunchBone = PRIMARY Muzzle WeaponLaunchBone = SECONDARY Muzzle End AliasConditionState = REALLYDAMAGED ConditionState = FIRING_A Animation = NITHNT_SKL.NITHNT_ATA AnimationMode = ONCE TransitionKey = TRANS_START_FIRING End AliasConditionState = FIRING_A REALLYDAMAGED ConditionState = BETWEEN_FIRING_SHOTS_A Animation = NITHNT_SKL.NITHNT_STA AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_START_FIRING End AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED ConditionState = MOVING Animation = NITHNT_SKL.NITHNT_RNA 20 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING REALLYDAMAGED ConditionState = RELOADING_A Animation = NITHNT_SKL.NITHNT_ATA 10 AnimationMode = ONCE ;WeaponLaunchBone = PRIMARY WeaponA End AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING RELOADING_A REALLYDAMAGED ConditionState = DYING Animation = NITHNT_SKL.NITHNT_DTA Animation = NITHNT_SKL.NITHNT_DTB AnimationSpeedFactorRange = 0.9 1.25 AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = NITHNT_SKL.NITHNT_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = NITHNT_SKL.NITHNT_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = NITHNT_SKL.NITHNT_ADTA3 AnimationMode = ONCE TransitionKey = None End ;PARACHUTING ANIMATIONS ConditionState = FREEFALL Animation = NITHNT_SKL.NITHNT_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = NITHNT_SKL.NITHNT_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = NITHNT_SKL.NITHNT_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = NITHNT_SKL.NITHNT_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:MissileTeam Side = AmericaSuperWeaponGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY MissileDefenderMissileWeapon Weapon = SECONDARY MissileDefenderLaserGuidedMissileWeapon ;Controlled by special ability AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = SECONDARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 400 Prerequisites Object = SupW_AmericaBarracks End BuildCost = 300 BuildTime = 5.0 ;in seconds ExperienceValue = 20 20 40 60 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = SupW_AmericaInfantryMissileDefenderCommandSet ; *** AUDIO Parameters *** VoiceSelect = MissileDefenderVoiceSelect VoiceMove = MissileDefenderVoiceMove VoiceGuard = MissileDefenderVoiceMove VoiceAttack = MissileDefenderVoiceAttack VoiceAttackAir = MissileDefenderVoiceAttack VoiceFear = MissileDefenderVoiceFear UnitSpecificSounds VoiceGarrison = MissileDefenderVoiceGarrison VoiceCreate = MissileDefenderVoiceCreate VoiceEnter = MissileDefenderVoiceMove VoiceGetHealed = MissileDefenderVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End Behavior = ExperienceScalarUpgrade ModuleTag_03 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = Yes End Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Locomotor = SET_NORMAL MissileDefenderLocomotor Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = SpecialAbility ModuleTag_08 SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles UpdateModuleStartsAttack = Yes InitiateSound = MissileDefenderVoiceAttackLaser End Behavior = SpecialAbilityUpdate ModuleTag_09 SpecialPowerTemplate = SpecialAbilityMissileDefenderLaserGuidedMissiles StartAbilityRange = 200.0 AbilityAbortRange = 250.0 ;If the target moves outside this range, abort. PreparationTime = 1000 PersistentPrepTime = 500 SpecialObject = LaserBeam SpecialObjectAttachToBone = Muzzle01 End ;Added by JMC on 7/12/03 so that the skirmish AI can tell the missile defenders to hunt using ;the laser guided missiles. Behavior = CommandButtonHuntUpdate ModuleTag_CBHunt ; allows use of command button hunt script with this unit. End Behavior = SquishCollide ModuleTag_10 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_MissileDefenderDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_MissileDefenderDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 7.0 GeometryMinorRadius = 7.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ; @todo -- this entire unit is "first pass only" and needs lots of specialization Object SupW_AmericaInfantryPilot ; *** ART Parameters *** SelectPortrait = SAPilot_L ButtonImage = SAPilot UpgradeCameo1 = Upgrade_AmericaChemicalSuits UpgradeCameo2 = Upgrade_AmericaAdvancedTraining ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AIRPlt_SKN IdleAnimation = AIRPlt_SKL.AIRPlt_STA 0 20 IdleAnimation = AIRPlt_SKL.AIRPlt_IDA IdleAnimation = AIRPlt_SKL.AIRPlt_IDB AnimationMode = ONCE TransitionKey = TRANS_Stand End ConditionState = FREEFALL Animation = AIRPlt_SKL.AIRPLT_PFL AnimationMode = ONCE TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIRPlt_SKL.AIRPlt_PHG AnimationMode = LOOP TransitionKey = TRANS_Chute WaitForStateToFinishIfPossible = TRANS_Falling End AliasConditionState = PARACHUTING DYING ConditionState = MOVING Animation = AIRPlt_SKL.AIRPlt_RNA AnimationMode = LOOP TransitionKey = TRANS_Stand ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = AIRPlt_SKL.AIRPlt_DTA Animation = AIRPlt_SKL.AIRPlt_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = AIRPlt_SKL.AIRPlt_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIRPlt_SKL.AIRPlt_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIRPlt_SKL.AIRPlt_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = AIRPLT_SKL.AIRPLT_CHA AnimationMode = LOOP End ;@TODO -- MISSING ANIMATION FILE ;TransitionState = TRANS_Falling TRANS_Chute ; Animation = AIRPLT_SKL.AIRPLT_POP ; AnimationMode = ONCE ; Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first ;End TransitionState = TRANS_Chute TRANS_Stand Animation = AIRPlt_SKL.AIRPlt_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Pilot Side = AmericaSuperWeaponGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) ExperienceValue = 10 10 10 10 ;Experience point value at each level ExperienceRequired = 0 1 2 3 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CommandSet = AmericaInfantryPilotCommandSet ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 300 CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = PilotVoiceSelect VoiceMove = PilotVoiceMove VoiceAttack = PilotVoiceMove VoiceGarrison = NoSound VoiceFear = PilotVoiceFear UnitSpecificSounds VoiceEnter = PilotVoiceEnter VoiceEnterHostile = PilotVoiceEnter VoiceGetHealed = PilotVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY NO_GARRISON SCORE IGNORES_SELECT_ALL Behavior = VeterancyGainCreate ModuleTag_02 ; omit the "ScienceRequired" so that this upgrade always occurs. ; Pilots should never (repeat, never) be less than VETERAN status. StartingLevel = VETERAN End Behavior = VeterancyCrateCollide ModuleTag_03 RequiredKindOf = VEHICLE ; we only give our bonus to VEHICLEs we collide with ForbiddenKindOf = DOZER ; but not to TRANSPORTs or DOZERs! EffectRange = 0 ; 0=="affect only the thing you collide with" AddsOwnerVeterancy = Yes ; we add our own veterancy to the target (rather than just +1 level) IsPilot = Yes ; set the pilot flag because it's different than the veterancy crate and has extra checking End Body = ActiveBody ModuleTag_04 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_05 AutoAcquireEnemiesWhenIdle = Yes End Behavior = AutoFindHealingUpdate ModuleTag_06 ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Behavior = PilotFindVehicleUpdate ModuleTag_07 ; This update will have the unit go to a vehicle. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; MinHealth = 0.5 ; don't enter a vehicle less than 50% healthy. End Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor Locomotor = SET_NORMAL_UPGRADED BasicHumanLocomotorPlus25 Behavior = PhysicsBehavior ModuleTag_08 Mass = 5.0 End Behavior = LocomotorSetUpgrade ModuleTag_10 TriggeredBy = Upgrade_Veterancy_HEROIC End Behavior = SquishCollide ModuleTag_11 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PilotDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PilotDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_14 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object SupW_AmericaInfantryPathfinder ; *** ART Parameters *** SelectPortrait = SAPathfinder1_L ButtonImage = SAPathfinder1 UpgradeCameo1 = Upgrade_AmericaAdvancedTraining UpgradeCameo2 = Upgrade_AmericaChemicalSuits ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AIPFDR_SKN IdleAnimation = AIPFDR_SKL.AIPFDR_STA IdleAnimation = AIPFDR_SKL.AIPFDR_IDA AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX TransitionKey = TRANS_Standing End AliasConditionState = REALLYDAMAGED ConditionState = MOVING Animation = AIPFDR_SKL.AIPFDR_RNA 25 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Standing ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING REALLYDAMAGED ConditionState = FIRING_A Animation = AIPFDR_SKL.AIPFDR_ATB ; recoil in standing position AnimationMode = ONCE TransitionKey = TRANS_FiringA End AliasConditionState = FIRING_A MOVING AliasConditionState = FIRING_A MOVING REALLYDAMAGED AliasConditionState = FIRING_A REALLYDAMAGED ConditionState = BETWEEN_FIRING_SHOTS_A Animation = AIPFDR_SKL.AIPFDR_ATBST ; motionless in standing position AnimationMode = ONCE WaitForStateToFinishIfPossible = TRANS_FiringA End AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED AliasConditionState = RELOADING_A AliasConditionState = RELOADING_A REALLYDAMAGED ConditionState = DYING Animation = AIPFDR_SKL.AIPFDR_DTA AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = AIPFDR_SKL.AIPFDR_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AIPFDR_SKL.AIPFDR_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AIPFDR_SKL.AIPFDR_ADTA3 AnimationMode = ONCE TransitionKey = None End ConditionState = FREEFALL Animation = AIPFDR_SKL.AIPFDR_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AIPFDR_SKL.AIPFDR_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ;our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = AIPFDR_SKL.AIPFDR_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ;our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Standing Animation = AIPFDR_SKL.AIPFDR_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Pathfinder Side = AmericaSuperWeaponGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY USAPathfinderSniperRifle End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = InfantryDamageFX End VisionRange = 200 ShroudClearingRange = 400 Prerequisites Object = SupW_AmericaBarracks Science = SCIENCE_Pathfinder End BuildCost = 600 BuildTime = 10.0 ;in seconds ExperienceValue = 40 40 60 80 ;Experience point value at each level ExperienceRequired = 0 50 100 200 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaInfantryPathfinderCommandSet ; *** AUDIO Parameters *** VoiceSelect = PathfinderVoiceSelect VoiceMove = PathfinderVoiceMove VoiceGuard = PathfinderVoiceMove VoiceAttack = PathfinderVoiceAttack VoiceFear = PathfinderVoiceFear SoundStealthOn = StealthOn SoundStealthOff = StealthOff VoiceFear = PathfinderVoiceFear UnitSpecificSounds VoiceCreate = PathfinderVoiceCreate VoiceGarrison = PathfinderVoiceGarrison VoiceEnter = PathfinderVoiceMove VoiceEnterHostile = PathfinderVoiceMove VoiceGetHealed = PathfinderVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY STEALTH_GARRISON SCORE CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaChemicalSuits End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes Stealthed MoodAttackCheckRate = 250 End Behavior = AutoFindHealingUpdate ModuleTag_04 ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Locomotor = SET_NORMAL ColonelBurtonGroundLocomotor Behavior = ExperienceScalarUpgrade ModuleTag_05 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = StealthDetectorUpdate ModuleTag_08 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = StealthUpdate ModuleTag_09 StealthDelay = 0 ; msec StealthForbiddenConditions = MOVING ; stays stealthy while attacking FriendlyOpacityMin = 30.0% FriendlyOpacityMax = 80.0% PulseFrequency = 500 ; msec MoveThresholdSpeed = 3 InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = SquishCollide ModuleTag_10 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PathfinderDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_PathfinderDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireUSA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinUSA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object SupW_AmericaVehicleHumvee ; *** ART Parameters *** SelectPortrait = SAHummer_L ButtonImage = SAHummer UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining UpgradeCameo5 = Upgrade_AmericaTOWMissile Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = AVHUMMER Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01 WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX End ConditionState = REALLYDAMAGED Model = AVHUMMER_d Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01 WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX End ConditionState = WEAPONSET_PLAYER_UPGRADE Model = AVHUMMER Turret = TurretUp01 HideSubObject = Turret MuzzleFX01 ShowSubObject = TurretUp01 Housecolor03 WeaponFireFXBone = PRIMARY MuzzleUp WeaponMuzzleFlash = PRIMARY MuzzleFXUp WeaponFireFXBone = SECONDARY WeaponB WeaponLaunchBone = SECONDARY WeaponB WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End ConditionState = REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE Model = AVHUMMER_d Turret = TurretUp01 HideSubObject = Turret MuzzleFX01 ShowSubObject = TurretUp01 Housecolor03 WeaponFireFXBone = PRIMARY MuzzleUp WeaponMuzzleFlash = PRIMARY MuzzleFXUp WeaponFireFXBone = SECONDARY WeaponB WeaponLaunchBone = SECONDARY WeaponB WeaponFireFXBone = TERTIARY WeaponB WeaponLaunchBone = TERTIARY WeaponB End TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 1.25 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:Humvee Side = AmericaSuperWeaponGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY HumveeGun Weapon = SECONDARY HumveeMissileWeaponAirDummy End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY HumveeGun Weapon = SECONDARY HumveeMissileWeapon Weapon = TERTIARY HumveeMissileWeaponAir PreferredAgainst = TERTIARY AIRCRAFT End ArmorSet Conditions = None Armor = HumveeArmor DamageFX = TruckDamageFX End BuildCost = 850 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 320 Prerequisites Object = SupW_AmericaWarFactory End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = SupW_AmericaVehicleHumveeCommandSet ; *** AUDIO Parameters *** VoiceSelect = HumveeVoiceSelect VoiceMove = HumveeVoiceMove VoiceGuard = HumveeVoiceMove VoiceAttack = HumveeVoiceAttack VoiceAttackAir = HumveeVoiceAttackTOW SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs ;TurretMoveStart = NoSound VoiceCreate = HumveeVoiceCreate TurretMoveLoop = TurretMoveLoop SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = HumveeVoiceCrush ; Required for the W3DTruckDraw module TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceUnload = HumveeVoiceUnload VoiceEnter = HumveeVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = TransportAIUpdate ModuleTag_03 Turret TurretTurnRate = 180 RecenterTime = 5000 ; how long to wait during idle before recentering ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY End AutoAcquireEnemiesWhenIdle = Yes MoodAttackCheckRate = 250 End Locomotor = SET_NORMAL HumveeLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = TransportContain ModuleTag_05 PassengersAllowedToFire = Yes Slots = 5 ; EnterSound = GarrisonEnter ; ExitSound = GarrisonExit DamagePercentToUnits = 100% ;10% AllowInsideKindOf = INFANTRY ExitDelay = 250 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting End Behavior = ObjectCreationUpgrade ModuleTag_06 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_07 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_14 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_08 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = WeaponSetUpgrade ModuleTag_09 TriggeredBy = Upgrade_AmericaTOWMissile End Behavior = ExperienceScalarUpgrade ModuleTag_10 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = SlowDeathBehavior ModuleTag_11 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 25 DestructionDelay = 1 OCL = INITIAL OCL_InitialHumveeDebris FX = FINAL FX_BattleMasterExplosionOneFinal OCL = FINAL OCL_FinalHumveeDebris End Behavior = DestroyDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End ; This is commented out per hotlist request 10/9 ML ; Behavior = CreateObjectDie ModuleTag_15 ; DeathTypes = ALL -CRUSHED -SPLATTED ; CreationList = SupW_OCL_AmericanRangerDebris01 ; ExemptStatus = HIJACKED ; End Behavior = EjectPilotDie ModuleTag_16 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED ; The following added out per hotlist request 10/9 as above ML VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute End Behavior = TransitionDamageFX ModuleTag_17 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 11.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;---------------------------------------------------------- Object SupW_AmericaVehicleTomahawk ; *** ART Parameters *** SelectPortrait = SACTomahawk_L ButtonImage = SACTomahawk UpgradeCameo1 = Upgrade_AmericaScoutDrone UpgradeCameo2 = Upgrade_AmericaBattleDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining ;UpgradeCameo5 = XXX Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes ProjectileBoneFeedbackEnabledSlots = PRIMARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset DefaultConditionState Model = AVTomahawk Turret = TURRET TurretPitch = TURRETEL WeaponLaunchBone = PRIMARY WeaponA WeaponHideShowBone = PRIMARY MISSILE End ConditionState = REALLYDAMAGED Model = AVTomahawk_D End AliasConditionState = RUBBLE TrackMarks = EXTnkTrack.tga End ; ***DESIGN parameters *** DisplayName = OBJECT:Tomahawk Side = AmericaSuperWeaponGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) BuildCost = 1400 BuildTime = 20.0 ;in seconds VisionRange = 180 ShroudClearingRange = 200 Prerequisites Object = SupW_AmericaWarFactory Object = SupW_AmericaStrategyCenter End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience WeaponSet Conditions = None Weapon = PRIMARY TomahawkMissileWeapon End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = SupW_AmericaVehicleTomahawkCommandSet ; *** AUDIO Parameters *** VoiceSelect = TomahawkVoiceSelect VoiceMove = TomahawkVoiceMove VoiceGuard = TomahawkVoiceMove VoiceAttack = TomahawkVoiceAttack SoundMoveStart = TomahawkMoveStart SoundMoveStartDamaged = TomahawkMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = TomahawkVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoopLoud SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = TomahawkVoiceCrush VoiceEnter = TomahawkVoiceMove VoiceBombard = TomahawkVoiceAttack End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE DONT_AUTO_CRUSH_INFANTRY CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 180.0 InitialHealth = 180.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 360 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 60 ; turn rate, in degrees per sec TurretPitchRate = 60 FirePitch = 70 ; Instead of aiming pitchwise at the target, it will aim here AllowsPitch = Yes ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = No NotWhileAttacking End Locomotor = SET_NORMAL TomahawkLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_AmericaVehicleTomahawkDie FX = FINAL FX_AmericaVehicleTomahawkDeathExplosion End Behavior = ObjectCreationUpgrade ModuleTag_06 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_07 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_15 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_08 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = ExperienceScalarUpgrade ModuleTag_09 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = DestroyDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag SalvageData CrateData = SalvageCrateData End Behavior = CreateObjectDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End ; Behavior = FXListDie ; DeathTypes = ALL -CRUSHED -SPLATTED ; DeathFX = FX_GenericTankDeathEffect ; End ; Behavior = CreateObjectDie ; DeathTypes = ALL -CRUSHED -SPLATTED ; CreationList = OCL_GenericTankDeathEffect ; End Behavior = EjectPilotDie ModuleTag_13 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute End Behavior = TransitionDamageFX ModuleTag_14 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ; Also known as the Ambulance Object SupW_AmericaVehicleMedic ; *** ART Parameters *** SelectPortrait = SAAmbulance_L ButtonImage = SAAmbulance UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 ConditionState = NONE Model = AVAmbulance Turret = Turret TurretPitch = TurretEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = REALLYDAMAGED Model = AVAmbulance_D Turret = Turret TurretPitch = TurretEL WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = RUBBLE Model = AVAmbulance_D End TrackMarks = EXTireTrack.tga OkToChangeModelColor = Yes Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:Medic Side = AmericaSuperWeaponGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet ;*** Fully automated and driven by the CleanupHazardUpdate *** Conditions = None Weapon = PRIMARY AmbulanceCleanHazardWeapon AutoChooseSources = PRIMARY NONE End ArmorSet Conditions = None Armor = ToxinTruckArmor DamageFX = TruckDamageFX End BuildCost = 700 BuildTime = 10.0 ;in seconds VisionRange = 100 ShroudClearingRange = 400 Prerequisites Object = SupW_AmericaWarFactory End ExperienceValue = 50 50 50 50 ;Experience point value at each level IsTrainable = No CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = SupW_AmericaVehicleAmbulanceCommandSet ; *** AUDIO Parameters *** VoiceSelect = AmbulanceVoiceSelect VoiceMove = AmbulanceVoiceMove VoiceGuard = AmbulanceVoiceMove VoiceAttack = AmbulanceVoiceDetox SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = AmbulanceVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceCrush = AmbulanceVoiceCrush VoiceEnter = AmbulanceVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE SCORE TRANSPORT Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = CleanupHazardUpdate ModuleTag_03 WeaponSlot = PRIMARY ScanRate = 1000 ScanRange = 100.0 ;If this range exceeds the AmbulanceCleanHazardWeapon AttackRange, it'll move! End ;Can be ordered to clean up a larger area with the ability to move around at an extended range. Behavior = CleanupAreaPower ModuleTag_04 SpecialPowerTemplate = SpecialAbilityAmbulanceCleanupArea MaxMoveDistanceFromLocation = 300.0 ;allows the unit to move around while cleaning up InitiateSound = AmbulanceVoiceDetox End Behavior = TransportAIUpdate ModuleTag_05 AutoAcquireEnemiesWhenIdle = No ;CleanupHazardUpdate handles this... Turret TurretTurnRate = 180 TurretPitchRate = 180 AllowsPitch = Yes MinPhysicalPitch = -20 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) TurretFireAngleSweep = PRIMARY 25 ControlledWeaponSlots = PRIMARY End End Locomotor = SET_NORMAL HumveeLocomotor Behavior = TransportContain ModuleTag_06 Slots = 3 HealthRegen%PerSec = 25 DamagePercentToUnits = 10% AllowInsideKindOf = INFANTRY AllowAlliesInside = Yes AllowNeutralInside = No AllowEnemiesInside = No ExitDelay = 250 NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting End Behavior = PhysicsBehavior ModuleTag_07 Mass = 50.0 End Behavior = SlowDeathBehavior ModuleTag_08 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 0 FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_FinalAmbulanceDebris End Behavior = ObjectCreationUpgrade ModuleTag_09 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_10 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_19 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_11 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = DestroyDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = FXListDie ModuleTag_15 DeathTypes = ALL -CRUSHED -SPLATTED DeathFX = FX_GenericTankDeathEffect End Behavior = CreateCrateDie ModuleTag_16 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = ExperienceScalarUpgrade ModuleTag_17 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = TransitionDamageFX ModuleTag_18 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = AutoHealBehavior ModuleTag_22 HealingAmount = 4 HealingDelay = 1000 ; msec Radius = 100.0f StartsActive = Yes KindOf = INFANTRY End Behavior = AutoHealBehavior ModuleTag_23 HealingAmount = 5 HealingDelay = 1000 ; msec Radius = 100.0f StartsActive = Yes KindOf = VEHICLE ForbiddenKindOf = AIRCRAFT SkipSelfForHealing = Yes End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 12.0 ; height set to allow clear clipping of projectile streams GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ;------------------------------------------------------------------------------ Object SupW_AmericaVehicleBattleDrone ; *** ART Parameters *** SelectPortrait = SABattleDrone_L ButtonImage = SABattleDrone UpgradeCameo1 = Upgrade_AmericaDroneArmor ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE ;MAIN CHASSIS Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVBATTLEDR Animation = AVBATTLEDR.AVBATTLEDR AnimationMode = LOOP Turret = Turret01 TurretPitch = TurretEL01 WeaponMuzzleFlash = PRIMARY TurretFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = REALLYDAMAGED Model = AVBATTLEDR_D Animation = AVBATTLEDR_D.AVBATTLEDR_D AnimationMode = LOOP End End ;EXTENDING ARM (FOR REPAIRING) Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes DefaultConditionState Model = AVBATTLEDR_A End ;Unloading the arm (before starting to repair) ConditionState = UNPACKING Animation = AVBATTLEDR_A1.AVBATTLEDR_A1 AnimationMode = ONCE End ;Loading the arm (after reparing complete) ConditionState = PACKING Animation = AVBATTLEDR_A1.AVBATTLEDR_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ;Repair extending animation 1 (using bogus condition states -- doesn't justify making a whole new set) ConditionState = FIRING_B Animation = AVBATTLEDR_A2.AVBATTLEDR_A2 AnimationMode = ONCE End ;Repair retracting animation 1 (using bogus condition states -- doesn't justify making a whole new set) ConditionState = FIRING_C Animation = AVBATTLEDR_A2.AVBATTLEDR_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:BattleDrone Side = AmericaSuperWeaponGeneral EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY BattleDroneMachineGun End ArmorSet Conditions = None Armor = TankArmor DamageFX = SmallTankDamageFX End BuildCost = 200 BuildTime = 5.0 ;in seconds VisionRange = 150 ShroudClearingRange = 150 Prerequisites Object = SupW_AmericaWarFactory End ExperienceValue = 10 10 10 10 ;Experience point value at each level IsTrainable = No ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE NO_SELECT Body = ActiveBody ModuleTag_03 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_04 Turret TurretTurnRate = 360 // turn rate, in degrees per sec TurretPitchRate = 360 MinPhysicalPitch = -75 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) AllowsPitch = Yes ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL BattleDroneLocomotor Locomotor = SET_PANIC BattleDronePanicLocomotor ;used for repairing master (zippy) Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 KillWhenRestingOnGround = Yes AllowBouncing = No End Behavior = MaxHealthUpgrade ModuleTag_06 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 25.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = SlavedUpdate ModuleTag_07 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. AttackWanderRange = 10 ;How far I'm allowed to wander from target. ScoutRange = 75 ;How far away from master I'm allowed when master is moving. ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. RepairRange = 8 ;How far I can zip around while repair (only moves when he stops welding) RepairMinAltitude = 18.0 ;My minimum repair hover altitude. RepairMaxAltitude = 24.0 ;My maximum repair hover altitude. RepairRatePerSecond = 10.0 ;How many health points can I repair per second. RepairWhenBelowHealth% = 60 ;How low should my master's health be (in %) before I should prioritize repairing. RepairMinReadyTime = 300 RepairMaxReadyTime = 750 RepairMinWeldTime = 250 RepairMaxWeldTime = 500 RepairWeldingSys = BlueSparks RepairWeldingFXBone = Muzzle02 StayOnSameLayerAsMaster = Yes End Behavior = DestroyDie ModuleTag_08 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_09 DeathTypes = ALL CreationList = OCL_AmericaBattleDroneExplode End Behavior = TransitionDamageFX ModuleTag_10 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall End Behavior = FXListDie ModuleTag_11 DeathTypes = ALL DeathFX = FX_AmericaBattleDroneExplode End Behavior = UpgradeDie ModuleTag_12 ;This frees the object based upgrade for the producer object. DeathTypes = ALL UpgradeToRemove = Upgrade_AmericaBattleDrone ModuleTag_13 End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5 GeometryMinorRadius = 5 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object SupW_AmericaVehicleScoutDrone ; *** ART Parameters *** SelectPortrait = SAScout_L ButtonImage = SAScout UpgradeCameo1 = Upgrade_AmericaDroneArmor ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = AVScoutDr Animation = AVScoutDr.AVScoutDr AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = AVScoutDr_d Animation = AVScoutDr_d.AVScoutDr_d AnimationMode = LOOP End End ; ***DESIGN parameters *** DisplayName = OBJECT:ScoutDrone Side = AmericaSuperWeaponGeneral EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = TankArmor DamageFX = SmallTankDamageFX End BuildCost = 100 BuildTime = 5.0 ;in seconds VisionRange = 150 ShroudClearingRange = 500 IsTrainable = No ;Can gain experience ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE DRONE NO_SELECT Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 60 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL DroneLocomotor Behavior = StealthDetectorUpdate ModuleTag_04 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 KillWhenRestingOnGround = Yes AllowBouncing = No End Behavior = SlavedUpdate ModuleTag_06 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. AttackWanderRange = 10 ;How far I'm allowed to wander from target. ScoutRange = 75 ;How far away from master I'm allowed when master is moving. ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. DistToTargetToGrantRangeBonus = 20 ;How close I have to be to the master's target in order to grant master a range bonus. StayOnSameLayerAsMaster = Yes End Behavior = MaxHealthUpgrade ModuleTag_07 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 25.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = DestroyDie ModuleTag_08 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_09 DeathTypes = ALL CreationList = OCL_AmericaScoutDroneExplode End Behavior = FXListDie ModuleTag_10 DeathTypes = ALL DeathFX = FX_AmericaScoutDroneExplode End Behavior = TransitionDamageFX ModuleTag_11 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall End Behavior = UpgradeDie ModuleTag_12 ;This frees the object based upgrade for the producer object. DeathTypes = ALL UpgradeToRemove = Upgrade_AmericaScoutDrone ModuleTag_13 End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5.0 GeometryMinorRadius = 6.0 GeometryHeight = 3.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object SupW_AmericaVehicleHellfireDrone ; *** ART Parameters *** SelectPortrait = SAHellfire_L ButtonImage = SAHellfire UpgradeCameo1 = Upgrade_AmericaDroneArmor ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVScoutDr WeaponLaunchBone = PRIMARY WeaponA End ConditionState = REALLYDAMAGED Model = AVScoutDr_d End End ; ***DESIGN parameters *** DisplayName = OBJECT:HellfireDrone Side = AmericaSuperWeaponGeneral EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = TankArmor DamageFX = SmallTankDamageFX End BuildCost = 500 BuildTime = 5.0 ;in seconds VisionRange = 100 ShroudClearingRange = 500 IsTrainable = No ;Can gain experience ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound WeaponSet Conditions = NONE Weapon = PRIMARY HellfireMissileWeapon End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE NO_SELECT Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 360 // turn rate, in degrees per sec TurretPitchRate = 360 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL HellfireDroneLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 KillWhenRestingOnGround = Yes AllowBouncing = No End Behavior = SlavedUpdate ModuleTag_06 GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander) GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding. AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target. AttackWanderRange = 10 ;How far I'm allowed to wander from target. ScoutRange = 75 ;How far away from master I'm allowed when master is moving. ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point. StayOnSameLayerAsMaster = Yes End Behavior = MaxHealthUpgrade ModuleTag_07 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 25.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = DestroyDie ModuleTag_08 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_09 DeathTypes = ALL CreationList = OCL_AmericaScoutDroneExplode End Behavior = FXListDie ModuleTag_10 DeathTypes = ALL DeathFX = FX_AmericaScoutDroneExplode End Behavior = TransitionDamageFX ModuleTag_11 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall End Behavior = UpgradeDie ModuleTag_12 ;This frees the object based upgrade for the producer object. DeathTypes = ALL UpgradeToRemove = Upgrade_AmericaHellfireDrone ModuleTag_13 End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5.0 GeometryMinorRadius = 6.0 GeometryHeight = 3.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object SupW_AmericaVehicleSpyDrone ; *** ART Parameters *** SelectPortrait = SAScout_L ButtonImage = SAScout UpgradeCameo1 = Upgrade_AmericaDroneArmor Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = AVSpyDrone Animation = AVSpyDrone.AVSpyDrone AnimationMode = LOOP End ; Damage state waiting for pristine's approval (or may just not need one) ; ConditionState = REALLYDAMAGED ; Model = AVSpyDrone_d ; Animation = AVSpyDrone_d.AVSpyDrone_d ; AnimationMode = LOOP ; End End ; ***DESIGN parameters *** DisplayName = OBJECT:SpyDrone Side = AmericaSuperWeaponGeneral EditorSorting = VEHICLE TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = SmallTankDamageFX End VisionRange = 250 ShroudClearingRange = 0; Dynamic range below IsTrainable = No ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound SoundMoveStart = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SCORE DRONE SELECTABLE INERT NO_SELECT Body = ActiveBody ModuleTag_02 MaxHealth = 200.0 InitialHealth = 200.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = No End Locomotor = SET_NORMAL SpyDroneLocomtor Behavior = DynamicShroudClearingRangeUpdate ModuleTag_04 FinalVision = 250.0 ChangeInterval = 50 ShrinkDelay = 2000 ShrinkTime = 1000 GrowDelay = 0 GrowTime = 1000 GrowInterval = 10 ; Faster than most GridDecalTemplate Texture = EXGrid Style = SHADOW_ADDITIVE_DECAL OpacityMin = 50% OpacityMax = 100% OpacityThrobTime = 500 Color = R:32 G:64 B:128 A:0 //dim blue, additive End End Behavior = StealthDetectorUpdate ModuleTag_05 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = PhysicsBehavior ModuleTag_06 Mass = 50.0 End Behavior = DestroyDie ModuleTag_07 DeathTypes = ALL End Behavior = CreateObjectDie ModuleTag_08 DeathTypes = ALL CreationList = OCL_AmericaScoutDroneExplode End Behavior = StealthUpdate ModuleTag_09 StealthDelay = 0 ; msec StealthForbiddenConditions = NONE InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = MaxHealthUpgrade ModuleTag_10 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 50.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = CYLINDER GeometryMajorRadius = 5.0 GeometryMinorRadius = 6.0 GeometryHeight = 3.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object SupW_AmericaTankCrusader ; *** ART Parameters *** SelectPortrait = SACLeopard_L ButtonImage = SACLeopard UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining UpgradeCameo5 = Upgrade_AmericaCompositeArmor Draw = W3DTankDraw ModuleTag_01 DefaultConditionState Model = AVLeopard Turret = Turret WeaponFireFXBone = PRIMARY TurretMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY TurretFX WeaponLaunchBone = PRIMARY TurretMS End ConditionState = REALLYDAMAGED Model = AVLeopard_D End ConditionState = RUBBLE Model = AVLeopard_D End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Crusader Side = AmericaSuperWeaponGeneral EditorSorting = VEHICLE TransportSlotCount = 3 WeaponSet Conditions = None Weapon = PRIMARY CrusaderTankGun ; Uncomment this when we want the crusader to have a machine too again ;Weapon = SECONDARY CrusaderMachineGun End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End ;ArmorSet ; Conditions = PLAYER_UPGRADE ; Armor = UpgradedTankArmor ; DamageFX = TankDamageFX ;End BuildCost = 1100 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = SupW_AmericaWarFactory End ExperienceValue = 100 100 200 400 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = SupW_AmericaTankCrusaderCommandSet ; *** AUDIO Parameters *** VoiceSelect = CrusaderTankVoiceSelect VoiceMove = CrusaderTankVoiceMove VoiceGuard = CrusaderTankVoiceMove VoiceAttack = CrusaderTankVoiceAttack SoundMoveStart = CrusaderTankMoveStart SoundMoveStartDamaged = CrusaderTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = CrusaderTankVoiceCreate VoiceEnter = CrusaderTankVoiceMove TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = CrusaderTankVoiceCrush End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 480 InitialHealth = 480 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 960 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 180 ;60 // turn rate, in degrees per sec ControlledWeaponSlots= PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL CrusaderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = ObjectCreationUpgrade ModuleTag_05 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_06 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_20 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_07 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = ExperienceScalarUpgrade ModuleTag_08 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = MaxHealthUpgrade ModuleTag_09 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End ; Turret fly off death Behavior = SlowDeathBehavior ModuleTag_10 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_GenericTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_CrusaderTurret End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_11 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_GenericTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion End Behavior = TransitionDamageFX ModuleTag_12 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = DestroyDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_15 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = EjectPilotDie ModuleTag_17 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;USA Construction Dozer or USDozer Object SupW_AmericaVehicleDozer ; *** ART Parameters *** SelectPortrait = SACDozer_L ButtonImage = SACDozer ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = AVCONSTDOZ_A ParticleSysBone = EXHAUSTFX01 DozerSmokeLight WaitForStateToFinishIfPossible = TRANS_DIGGING End ConditionState = PREATTACK_A Animation = AVCONSTDOZ_A.AVCONSTDOZ_A AnimationMode = ONCE ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy ParticleSysBone = DIRTFX01 DozerDirtFall ;gush of dirt TransitionKey = TRANS_DIGGING End ConditionState = MOVING ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy WaitForStateToFinishIfPossible = TRANS_DIGGING End ConditionState = REALLYDAMAGED RUBBLE Model = AVCONSTDOZ_AD ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED End ConditionState = PREATTACK_A REALLYDAMAGED RUBBLE Model = AVCONSTDOZ_AD Animation = AVCONSTDOZ_AD.AVCONSTDOZ_AD AnimationMode = ONCE ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy TransitionKey = TRANS_DIGGING_DAMAGED End ConditionState = MOVING REALLYDAMAGED RUBBLE Model = AVCONSTDOZ_AD ParticleSysBone = EXHAUSTFX01 DozerSmokeHeavy WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED End TrackMarks = EXTireTrack2.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = TIRE01 RightFrontTireBone = TIRE02 LeftRearTireBone = TIRE03 RightRearTireBone = TIRE04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. ParticlesAttachedToAnimatedBones = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Dozer Side = AmericaSuperWeaponGeneral EditorSorting = VEHICLE TransportSlotCount = 5 ;how many "slots" we take in a transport (0 == not transportable) BuildCost = 1000 BuildTime = 5.0 ; in seconds VisionRange = 200 ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY None End WeaponSet Conditions = MINE_CLEARING_DETAIL Weapon = PRIMARY DozerMineDisarmingWeapon End ArmorSet Conditions = None Armor = DozerArmor ;Special Explosion-Proof Armor DamageFX = TankDamageFX End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = SupW_AmericaDozerCommandSet ; *** AUDIO Parameters *** VoiceSelect = DozerUSAVoiceSelect VoiceMove = DozerUSAVoiceMove VoiceGuard = DozerUSAVoiceMove VoiceTaskComplete = DozerUSAVoiceBuildComplete SoundMoveStart = DozerUSAMoveStart SoundMoveStartDamaged = DozerUSAMoveStart UnitSpecificSounds VoiceCreate = DozerUSAVoiceCreate VoiceNoBuild = DozerUSAVoiceBuildNot VoiceCrush = DozerUSAVoiceCrush VoiceRepair = DozerUSAVoiceRepair VoiceDisarm = DozerUSAVoiceClearMine TruckLandingSound = NoSound TruckPowerslideSound = NoSound VoiceEnter = DozerUSAVoiceMove VoiceBuildResponse = DozerUSAVoiceBuild End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DOZER Body = ActiveBody ModuleTag_02 MaxHealth = 250.0 InitialHealth = 250.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 500 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = DozerAIUpdate ModuleTag_03 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second BoredTime = 5000 ; in milliseconds BoredRange = 150 ; when bored, we look this far away to do something ; the only "enemies" that workers can acquire are mines, to be disarmed... AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL AmericaVehicleDozerLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 75.0 End Behavior = StealthDetectorUpdate ModuleTag_05 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. ExtraRequiredKindOf = MINE ; we can only detect MINES, not other stealthed things End Behavior = TransitionDamageFX ModuleTag_06 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_07 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 100 DestructionDelay = 1500 DestructionDelayVariance = 600 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_AmericaDozerExplode FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End ;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_22 ;;;;;;;; End Behavior = FXListDie ModuleTag_23 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = DestroyDie ModuleTag_24 DeathTypes = NONE +CRUSHED +SPLATTED End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 15.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object SupW_AmericaTankPaladin ; *** ART Parameters *** SelectPortrait = SAPaladin_L ButtonImage = SAPaladin UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaAdvancedTraining UpgradeCameo4 = Upgrade_AmericaCompositeArmor UpgradeCameo5 = Upgrade_AmericaHallfireDrone Draw = W3DTankDraw ModuleTag_01 ExtraPublicBone = Laser ConditionState = NONE Model = AVPaladin Turret = Turret01 WeaponFireFXBone = PRIMARY TurretMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY TurretFX WeaponLaunchBone = PRIMARY TurretMS End ConditionState = REALLYDAMAGED Model = AVPaladin_D Turret = Turret01 WeaponFireFXBone = PRIMARY TurretMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY TurretFX WeaponLaunchBone = PRIMARY TurretMS End ConditionState = RUBBLE Model = AVPaladin_D Turret = Turret01 WeaponFireFXBone = PRIMARY TurretMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY TurretFX WeaponLaunchBone = PRIMARY TurretMS End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Paladin Side = AmericaSuperWeaponGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY PaladinTankGun End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End ;ArmorSet ; Conditions = PLAYER_UPGRADE ; Armor = UpgradedTankArmor ; DamageFX = TankDamageFX ;End BuildCost = 1300 BuildTime = 12.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = SupW_AmericaWarFactory Science = SCIENCE_PaladinTank End ExperienceValue = 100 100 200 400 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = SupW_AmericaTankPaladinCommandSet ; *** AUDIO Parameters *** VoiceSelect = PaladinTankVoiceSelect VoiceMove = PaladinTankVoiceMove VoiceGuard = PaladinTankVoiceMove VoiceAttack = PaladinTankVoiceAttack SoundMoveStart = PaladinTankMoveStart SoundMoveStartDamaged = PaladinTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = PaladinTankVoiceCreate TurretMoveLoop = TurretMoveLoop SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = PaladinTankVoiceCrush VoiceEnter = PaladinTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 500.0 InitialHealth = 500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 180 ;60 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End ;AltTurret ; TurretTurnRate = 9000; ; ControlledWeaponSlots = SECONDARY ;End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL CrusaderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End ; Turret fly off death Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 ; ModifierBonusPerOverkillPercent = 30% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_PaladinTankDeathEffect End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_06 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_PaladinTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion End Behavior = PointDefenseLaserUpdate ModuleTag_07 WeaponTemplate = PaladinPointDefenseLaser PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE SecondaryTargetTypes = INFANTRY ScanRate = 500 ScanRange = 120.0 PredictTargetVelocityFactor = 3.0 End Behavior = ObjectCreationUpgrade ModuleTag_08 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_09 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_19 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_10 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = ExperienceScalarUpgrade ModuleTag_11 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = TransitionDamageFX ModuleTag_12 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = DestroyDie ModuleTag_15 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = CreateCrateDie ModuleTag_16 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = EjectPilotDie ModuleTag_17 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = MaxHealthUpgrade ModuleTag_18 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;Sentry Drone Object SupW_AmericaVehicleSentryDrone ; *** ART Parameters *** SelectPortrait = SAsentry_L ButtonImage = SAsentry UpgradeCameo1 = Upgrade_AmericaSentryDroneGun UpgradeCameo2 = Upgrade_AmericaDroneArmor ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 InitialRecoilSpeed = 10 MaxRecoilDistance = 1.5 RecoilSettleSpeed = 3 OkToChangeModelColor = Yes DefaultConditionState Model = AVSENTRY Animation = AVSENTRY.AVSENTRY AnimationMode = LOOP Turret = TURRET01 HideSubObject = TURRETUP09 ;Hide controlled turret WeaponFireFXBone = PRIMARY TurretFX WeaponMuzzleFlash = PRIMARY TurretFX WeaponRecoilBone = PRIMARY TurretUp End ConditionState = REALLYDAMAGED Turret = TURRET01 Model = AVSENTRY_D Animation = AVSENTRY_D.AVSENTRY_D AnimationMode = LOOP HideSubObject = TURRETUP09 ;Hide controlled turret End ConditionState = RUBBLE Model = AVSENTRY_D1 HideSubObject = TURRETUP09 ;Hide controlled turret End AliasConditionState = RUBBLE WEAPONSET_PLAYER_UPGRADE ConditionState = WEAPONSET_PLAYER_UPGRADE Model = AVSENTRY Animation = AVSENTRY.AVSENTRY AnimationMode = LOOP ShowSubObject = TURRETUP09 End ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = AVSENTRY_D Animation = AVSENTRY_D.AVSENTRY_D AnimationMode = LOOP ShowSubObject = TURRETUP09 End TrackMarks = EXTnkTrack.tga TreadDebrisLeft = SentryDroneTrackDebrisDirtLeft TreadDebrisRight = SentryDroneTrackDebrisDirtRight TreadAnimationRate = 4.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:SentryDrone Side = AmericaSuperWeaponGeneral EditorSorting = VEHICLE TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY None End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY SentryDroneGun End ArmorSet Conditions = None Armor = SentryDroneArmor DamageFX = TruckDamageFX End BuildCost = 1000 BuildTime = 10.0 ;in seconds VisionRange = 200 ShroudClearingRange = 350 Prerequisites Object = SupW_AmericaWarFactory End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = No ;Can gain experience CrusherLevel = 0 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaVehicleSentryDroneCommandSet ; *** AUDIO Parameters *** VoiceSelect = SentryDroneVoiceSelect VoiceMove = SentryDroneVoiceMove VoiceGuard = SentryDroneVoiceMove VoiceAttack = SentryDroneVoiceMove SoundMoveStart = NoSound SoundMoveStartDamaged = NoSound UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = NoSound TurretMoveStart = NoSound TurretMoveLoop = NoSound VoiceEnter = NoSound Deploy = NoSound Undeploy = NoSound End Behavior = WeaponSetUpgrade ModuleTag_03 TriggeredBy = Upgrade_AmericaSentryDroneGun End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SCORE ATTACK_NEEDS_LINE_OF_SIGHT DRONE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = MaxHealthUpgrade ModuleTag_99 TriggeredBy = Upgrade_AmericaDroneArmor AddMaxHealth = 75.0 ChangeType = ADD_CURRENT_HEALTH_TOO End Behavior = DeployStyleAIUpdate ModuleTag_04 Turret TurretTurnRate = 180 TurretPitchRate = 180 FirePitch = 0 ; Instead of aiming pitchwise at the target, it will aim here AllowsPitch = No RecenterTime = 1000 ; how long to wait during idle before recentering ControlledWeaponSlots = PRIMARY NaturalTurretAngle = 0 InitiallyDisabled = No MinIdleScanInterval = 250 ; in milliseconds MaxIdleScanInterval = 250 ; in milliseconds MinIdleScanAngle = 0 ; in degrees off the natural turret angle MaxIdleScanAngle = 360 ; in degrees off the natural turret angle End AutoAcquireEnemiesWhenIdle = Yes ;Stealthed ; Means "Yes when idle, even if I am stealthed" PackTime = 1000 UnpackTime = 1000 TurretsFunctionOnlyWhenDeployed = Yes TurretsMustCenterBeforePacking = Yes End Locomotor = SET_NORMAL SentryLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 50.0 End Behavior = StealthUpdate ModuleTag_06 StealthDelay = 2000 ; msec StealthForbiddenConditions = FIRING_PRIMARY MOVING HintDetectableConditions = IS_FIRING_WEAPON FriendlyOpacityMin = 50.0% FriendlyOpacityMax = 100.0% InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = SlowDeathBehavior ModuleTag_07 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_AmericaVehicleSentryDroneDie FX = FINAL FX_AmericaVehicleTomahawkDeathExplosion End Behavior = DestroyDie ModuleTag_08 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FXListDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_10 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_11 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = StealthDetectorUpdate ModuleTag_12 DetectionRate = 900 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 225 ;Dustin, enable this for independant balancing! End Geometry = BOX GeometryMajorRadius = 9.0 GeometryMinorRadius = 7.0 GeometryHeight = 11.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object SupW_AmericaTankAvengerLaserTurret ; Seperate turret object so it can attack independantly ; *** ART Parameters *** SelectPortrait = SNPropSpeaker_L ButtonImage = SNPropSpeaker UpgradeCameo1 = Upgrade_Nationalism UpgradeCameo2 = Upgrade_ChinaUraniumShells UpgradeCameo3 = Upgrade_ChinaNuclearTanks ;UpgradeCameo4 = NONE UpgradeCameo5 = Upgrade_ChinaOverlordPropagandaTower Draw = W3DDependencyModelDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = TurretFX01 ExtraPublicBone = TurretFX02 ExtraPublicBone = TURRET01 ExtraPublicBone = TURRETEL ExtraPublicBone = TURRETEL01 AttachToBoneInContainer = FIREPOINT01 DefaultConditionState Model = AVAVNGER_G Turret = TURRET01 TurretPitch = TURRETEL01 End ConditionState = REALLYDAMAGED Model = AVAVNGER_GD Turret = TURRET01 TurretPitch = TURRETEL01 End End PlacementViewAngle = -45 ; ***DESIGN parameters *** Side = AmericaSuperWeaponGeneral EditorSorting = SYSTEM TransportSlotCount = 1 WeaponSet Conditions = None Weapon = PRIMARY AvengerAirLaserOne Weapon = SECONDARY AvengerAirLaserTwo End ArmorSet Conditions = None Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Avenger with his damage module End VisionRange = 0 ; *** AUDIO Parameters *** UnitSpecificSounds TurretMoveStart = NoSound TurretMoveLoop = NoSound ;TurretMoveLoop End ; *** ENGINEERING Parameters *** KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CLICK_THROUGH IGNORED_IN_GUI Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret ControlledWeaponSlots = PRIMARY SECONDARY TurretTurnRate = 180 // turn rate, in degrees per sec TurretPitchRate = 180 AllowsPitch = Yes NaturalTurretPitch = 45 End AutoAcquireEnemiesWhenIdle = Yes MoodAttackCheckRate = 500 ; default is 2000 End Behavior = DestroyDie ModuleTag_05 ; End Geometry = BOX GeometryMajorRadius = 6.0 GeometryMinorRadius = 6.0 GeometryHeight = 10.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object SupW_AmericaTankAvenger ; *** ART Parameters *** SelectPortrait = SAAvnger_L ButtonImage = SAAvnger UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining ;UpgradeCameo5 = Upgrade_AmericaCompositeArmor Draw = W3DOverlordTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ExtraPublicBone = TurretFX03 ExtraPublicBone = LazerSpot01 ExtraPublicBone = LazerSpot02 DefaultConditionState Model = AVAVNGER HideSubObject = TURRET01 End ConditionState = REALLYDAMAGED Model = AVAVNGER_D HideSubObject = TURRET01 End ConditionState = RUBBLE Model = AVAVNGER_D1 End ;When a bombtruck disguises as an avenger, show the turret! ConditionState = DISGUISED Model = AVAVNGER ShowSubObject = TURRET01 End ConditionState = REALLYDAMAGED DISGUISED Model = AVAVNGER_D ShowSubObject = TURRET01 End TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0.0 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:Avenger Side = AmericaSuperWeaponGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY AvengerTargetDesignator Weapon = SECONDARY AvengerAirLaserDummy End ArmorSet Conditions = None Armor = AvengerArmor DamageFX = TankDamageFX End BuildCost = 2000 BuildTime = 10.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = SupW_AmericaWarFactory ; Object = SupW_AmericaStrategyCenter End ExperienceValue = 100 100 200 400 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = SupW_AmericaTankAvengerCommandSet ; *** AUDIO Parameters *** VoiceSelect = AvengerVoiceSelect VoiceMove = AvengerVoiceMove VoiceGuard = AvengerVoiceMove VoiceAttack = AvengerVoicePaint VoiceAttackAir = AvengerVoiceAttack SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = AvengerVoiceCreate TurretMoveLoop = NoSound SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = NoSound VoiceEnter = AvengerVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL AvengerLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End ; Turret fly off death Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 ; ModifierBonusPerOverkillPercent = 30% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_AvengerTankDeathEffect End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_06 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_AvengerTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One WeaponTemplate = AvengerPointDefenseLaserOne PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 0 ScanRange = 200.0 PredictTargetVelocityFactor = 1.0 End Behavior = PointDefenseLaserUpdate ModuleTag_Laser_Two WeaponTemplate = AvengerPointDefenseLaserTwo PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ScanRate = 100 ScanRange = 200.0 PredictTargetVelocityFactor = 1.0 End Behavior = OverlordContain ModuleTag_OverlordContain Slots = 1 DamagePercentToUnits = 100% AllowInsideKindOf = PORTABLE_STRUCTURE PassengersAllowedToFire = Yes PayloadTemplateName = AmericaTankAvengerLaserTurret ExperienceSinkForRider = Yes ; I get the Exp for things my turret friend kills End Behavior = ObjectCreationUpgrade ModuleTag_08 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_09 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_19 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_10 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = ExperienceScalarUpgrade ModuleTag_11 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = TransitionDamageFX ModuleTag_12 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FXListDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = DestroyDie ModuleTag_15 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = CreateCrateDie ModuleTag_16 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = EjectPilotDie ModuleTag_17 DeathTypes = ALL -CRUSHED -SPLATTED ExemptStatus = HIJACKED GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = FlammableUpdate ModuleTag_22 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = MaxHealthUpgrade ModuleTag_23 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object SupW_AmericaTankMicrowave ; *** ART Parameters *** SelectPortrait = SAThunderBolt_L ButtonImage = SAThunderBolt UpgradeCameo1 = Upgrade_AmericaBattleDrone UpgradeCameo2 = Upgrade_AmericaScoutDrone UpgradeCameo3 = Upgrade_AmericaHellfireDrone UpgradeCameo4 = Upgrade_AmericaAdvancedTraining UpgradeCameo5 = Upgrade_AmericaCompositeArmor Draw = W3DTankDraw ModuleTag_01 ExtraPublicBone = WEAPON02 OkToChangeModelColor = Yes ConditionState = NONE Model = AVTHUNDRBLT ParticleSysBone = PROJECTORGLOW09 MicrowaveLenzflare ParticleSysBone = NONE MicrowaveRotisserie End ConditionState = USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C Model = AVTHUNDRBLT End ConditionState = REALLYDAMAGED RUBBLE Model = AVTHUNDRBLT_D ParticleSysBone = PROJECTORGLOW09 MicrowaveLenzflare ParticleSysBone = NONE MicrowaveRotisserie End ConditionState = REALLYDAMAGED RUBBLE USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C Model = AVTHUNDRBLT_D End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 4.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:Microwave Side = AmericaSuperWeaponGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End WeaponSet Conditions = None ; Weapon = PRIMARY MicrowaveTankVehicleDisabler Weapon = PRIMARY MicrowaveTankBuildingDisabler ;SECONDARY MicrowaveTankBuildingDisabler Weapon = SECONDARY MicrowaveTankBuildingClearer ;TERTIARY MicrowaveTankBuildingClearer End BuildCost = 800 BuildTime = 10.0 ;in seconds VisionRange = 200 ShroudClearingRange = 300 Prerequisites Object = SupW_AmericaWarFactory Object = SupW_AmericaStrategyCenter End ExperienceValue = 100 100 200 400 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = SupW_AmericaTankMicrowaveCommandSet ; *** AUDIO Parameters *** VoiceSelect = MicrowaveTankVoiceSelect VoiceMove = MicrowaveTankVoiceMove VoiceGuard = MicrowaveTankVoiceMove VoiceAttack = MicrowaveTankVoiceAttack SoundMoveStart = HumveeMoveStart SoundMoveStartDamaged = HumveeMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = MicrowaveTankVoiceCreate VoiceEnter = MicrowaveTankVoiceMove SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = MicrowaveTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 480 InitialHealth = 480 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 960 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL CrusaderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End ; Turret fly off death Behavior = SlowDeathBehavior ModuleTag_10 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_MicrowaveTankDeath FX = FINAL FX_GenericTankDeathExplosion End Behavior = TransitionDamageFX ModuleTag_12 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = DestroyDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_15 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_MicrowaveTankDeath_CrushEffect End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = EjectPilotDie ModuleTag_17 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot End Behavior = MaxHealthUpgrade ModuleTag_18 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = ExperienceScalarUpgrade ModuleTag_Upgrade01 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = ObjectCreationUpgrade ModuleTag_Upgrade02 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_Upgrade03 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_Upgrade04 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_Prod01 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = FireWeaponUpdate ModuleTag_22 Weapon = MicrowaveTankEmitterWeapon ExclusiveWeaponDelay = 1000 ; If we fire a real weapon, we turn this module off for this long End Behavior = CommandButtonHuntUpdate ModuleTag_24 ; allows use of command button hunt script with this unit. End Geometry = BOX GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object SupW_AmericaCommandCenter ; *** ART Parameters *** SelectPortrait = SAComCentr_L ButtonImage = SAComCentr ; ----------------- Main Building ------------------------ Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ****************************************** ConditionState = NONE Model = ABBtCmdSWG Animation = ABBtCmdSWG.ABBtCmdSWG AnimationMode = LOOP End ConditionState = DAMAGED Model = ABBtCmdHQS_D Animation = ABBtCmdHQS_D.ABBtCmdHQS_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = ABBtCmdHQS_E Animation = ABBtCmdHQS_E.ABBtCmdHQS_E AnimationMode = LOOP End ; night **************************************** ConditionState = NIGHT Model = ABBtCmdHQS_N Animation = ABBtCmdHQS_N.ABBtCmdHQS_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = ABBtCmdHQS_DN Animation = ABBtCmdHQS_DN.ABBtCmdHQS_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABBtCmdHQS_EN Animation = ABBtCmdHQS_EN.ABBtCmdHQS_EN AnimationMode = LOOP End ; Snow ConditionState = SNOW Model = ABBtCmdHQS_S Animation = ABBtCmdHQS_S.ABBtCmdHQS_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABBtCmdHQS_DS Animation = ABBtCmdHQS_DS.ABBtCmdHQS_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABBtCmdHQS_ES Animation = ABBtCmdHQS_ES.ABBtCmdHQS_ES AnimationMode = LOOP End ; night snow **************************************** ConditionState = NIGHT SNOW Model = ABBtCmdHQS_NS Animation = ABBtCmdHQS_NS.ABBtCmdHQS_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = ABBtCmdHQS_DNS Animation = ABBtCmdHQS_DNS.ABBtCmdHQS_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABBtCmdHQS_ENS Animation = ABBtCmdHQS_ENS.ABBtCmdHQS_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ Animation = ABBtCmdHQ.ABBtCmdHQ AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABBtCmdHQ_D Animation = ABBtCmdHQ_D.ABBtCmdHQ_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABBtCmdHQ_E Animation = ABBtCmdHQ_E.ABBtCmdHQ_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABBtCmdHQ_N Animation = ABBtCmdHQ_N.ABBtCmdHQ_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABBtCmdHQ_DN Animation = ABBtCmdHQ_DN.ABBtCmdHQ_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABBtCmdHQ_EN Animation = ABBtCmdHQ_EN.ABBtCmdHQ_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABBtCmdHQ_S Animation = ABBtCmdHQ_S.ABBtCmdHQ_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABBtCmdHQ_DS Animation = ABBtCmdHQ_DS.ABBtCmdHQ_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABBtCmdHQ_ES Animation = ABBtCmdHQ_ES.ABBtCmdHQ_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABBtCmdHQ_NS Animation = ABBtCmdHQ_NS.ABBtCmdHQ_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABBtCmdHQ_DNS Animation = ABBtCmdHQ_DNS.ABBtCmdHQ_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABBtCmdHQ_ENS Animation = ABBtCmdHQ_ENS.ABBtCmdHQ_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************************************************************************************************** End ; ----------------- the factory door ------------------- Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABBtCmdHQ_A7D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT DAMAGED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABBtCmdHQ_A7E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** ConditionState = DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_CLOSING Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_CLOSING DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = MANUAL Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = MANUAL Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ------------ Radar Extending ----------------- Draw = W3DModelDraw ModuleTag_03 ConditionState = None Model = ABBtCmdHQ_AC Animation = ABBtCmdHQ_AC.ABBtCmdHQ_AC AnimationMode = LOOP End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = DAMAGED Model = ABBtCmdHQ_ACD Animation = ABBtCmdHQ_ACD.ABBtCmdHQ_ACD AnimationMode = LOOP End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_ACE Animation = ABBtCmdHQ_ACE.ABBtCmdHQ_ACE AnimationMode = LOOP End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_AC Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABBtCmdHQ_ACD Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABBtCmdHQ_ACE Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- The Door ------------------------ Draw = W3DModelDraw ModuleTag_04 DefaultConditionState Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = NIGHT SNOW DOOR_1_OPENING ConditionState = DOOR_1_OPENING DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_CLOSING Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DOOR_1_CLOSING ConditionState = DOOR_1_CLOSING DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_CLOSING DAMAGED ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_OPEN Model = ABBtCmdHQ_A7 Animation = ABBtCmdHQ_A7.ABBtCmdHQ_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = ABBtCmdHQ_A7D Animation = ABBtCmdHQ_A7D.ABBtCmdHQ_A7D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN DAMAGED ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = ABBtCmdHQ_A7E Animation = ABBtCmdHQ_A7E.ABBtCmdHQ_A7E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABBtCmdHQ_A7D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABBtCmdHQ_A7E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A4 Animation = ABBtCmdHQ_A4.ABBtCmdHQ_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A4N Animation = ABBtCmdHQ_A4N.ABBtCmdHQ_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A4S Animation = ABBtCmdHQ_A4S.ABBtCmdHQ_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A4SN Animation = ABBtCmdHQ_A4SN.ABBtCmdHQ_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBtCmdHQ_A4 Animation = ABBtCmdHQ_A4.ABBtCmdHQ_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBtCmdHQ_A4N Animation = ABBtCmdHQ_A4N.ABBtCmdHQ_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBtCmdHQ_A4S Animation = ABBtCmdHQ_A4S.ABBtCmdHQ_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBtCmdHQ_A4SN Animation = ABBtCmdHQ_A4SN.ABBtCmdHQ_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBtCmdHQ_A4 Animation = ABBtCmdHQ_A4.ABBtCmdHQ_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A4N Animation = ABBtCmdHQ_A4N.ABBtCmdHQ_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBtCmdHQ_A4S Animation = ABBtCmdHQ_A4S.ABBtCmdHQ_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW NIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A4SN Animation = ABBtCmdHQ_A4SN.ABBtCmdHQ_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_06 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABBtCmdHQ_A6 Animation = ABBtCmdHQ_A6.ABBtCmdHQ_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark ParticleSysBone = Sparks08 BuildUpBlueSpark ParticleSysBone = Sparks09 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABBtCmdHQ_A6N Animation = ABBtCmdHQ_A6N.ABBtCmdHQ_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark ParticleSysBone = Sparks08 BuildUpBlueSpark ParticleSysBone = Sparks09 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABBtCmdHQ_A6S Animation = ABBtCmdHQ_A6S.ABBtCmdHQ_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark ParticleSysBone = Sparks08 BuildUpBlueSpark ParticleSysBone = Sparks09 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABBtCmdHQ_A6SN Animation = ABBtCmdHQ_A6SN.ABBtCmdHQ_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark ParticleSysBone = Sparks08 BuildUpBlueSpark ParticleSysBone = Sparks09 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBtCmdHQ_A6 Animation = ABBtCmdHQ_A6.ABBtCmdHQ_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBtCmdHQ_A6N Animation = ABBtCmdHQ_A6N.ABBtCmdHQ_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBtCmdHQ_A6S Animation = ABBtCmdHQ_A6S.ABBtCmdHQ_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBtCmdHQ_A6SN Animation = ABBtCmdHQ_A6SN.ABBtCmdHQ_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBtCmdHQ_A6 Animation = ABBtCmdHQ_A6.ABBtCmdHQ_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A6N Animation = ABBtCmdHQ_A6N.ABBtCmdHQ_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBtCmdHQ_A6S Animation = ABBtCmdHQ_A6S.ABBtCmdHQ_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A6SN Animation = ABBtCmdHQ_A6SN.ABBtCmdHQ_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A5 Animation = ABBtCmdHQ_A5.ABBtCmdHQ_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A5N Animation = ABBtCmdHQ_A5N.ABBtCmdHQ_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A5S Animation = ABBtCmdHQ_A5S.ABBtCmdHQ_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABBtCmdHQ_A5SN Animation = ABBtCmdHQ_A5SN.ABBtCmdHQ_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBtCmdHQ_A3 Animation = ABBtCmdHQ_A3.ABBtCmdHQ_A3 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBtCmdHQ_A3N Animation = ABBtCmdHQ_A3N.ABBtCmdHQ_A3N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBtCmdHQ_A3S ; @todo srj -- not found Animation = ABBtCmdHQ_A3S.ABBtCmdHQ_A3S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBtCmdHQ_A3SN Animation = ABBtCmdHQ_A3SN.ABBtCmdHQ_A3SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBtCmdHQ_A3 Animation = ABBtCmdHQ_A3.ABBtCmdHQ_A3 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A3N Animation = ABBtCmdHQ_A3N.ABBtCmdHQ_A3N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBtCmdHQ_A3S ; @todo srj -- not found Animation = ABBtCmdHQ_A3S.ABBtCmdHQ_A3S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABBtCmdHQ_A3S Animation = ABBtCmdHQ_A3S.ABBtCmdHQ_A3S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; Officers club flag Draw = W3DModelDraw ModuleTag_OfficersClub OkToChangeModelColor = No ConditionState = NONE Model = None End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE ConditionState = PREORDER Model = OCFlagUSA Animation = OCFlagUSA.OCFlagUSA AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PREORDER DAMAGED Model = OCFlagUSA_D Animation = OCFlagUSA_D.OCFlagUSA_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PREORDER REALLYDAMAGED RUBBLE Model = OCFlagUSA_E Animation = OCFlagUSA_E.OCFlagUSA_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:CommandCenter Side = AmericaSuperWeaponGeneral EditorSorting = STRUCTURE BuildCost = 2000 BuildTime = 45.0 ; in seconds EnergyProduction = 0 ;Command Center should be free CommandSet = SupW_AmericaCommandCenterCommandSet VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 300 ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = CommandCenterUSASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE COMMANDCENTER SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_08 MaxHealth = 5000.0 InitialHealth = 5000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 5200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = PreorderCreate ModuleTag_PreorderCreate End Behavior = GrantUpgradeCreate ModuleTag_09 UpgradeToGrant = Upgrade_AmericaRadar ExemptStatus = UNDER_CONSTRUCTION End Behavior = ProductionUpdate ModuleTag_11 NumDoorAnimations = 1 DoorOpeningTime = 1500 ;in mSeconds DoorWaitOpenTime = 3000 ;in mSeconds DoorCloseTime = 1500 ;in mSeconds ConstructionCompleteDuration = 1500 ;in mSeconds End Behavior = RadarUpdate ModuleTag_12 RadarExtendTime = 4000 ;in mSeconds End Behavior = DefaultProductionExitUpdate ModuleTag_13 UnitCreatePoint = X:-18.0 Y: 35.0 Z:0.0 NaturalRallyPoint = X: 60.0 Y: 35.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = BaseRegenerateUpdate ModuleTag_14 ;No data End Behavior = DestroyDie ModuleTag_15 ;nothing End Behavior = CreateObjectDie ModuleTag_16 CreationList = OCL_LargeStructureDebris End Behavior = CreateObjectDie ModuleTag_17 CreationList = SupW_OCL_AmericanRangerDebris10 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_18 DeathFX = FX_StructureMediumDeath End Behavior = RadarUpgrade ModuleTag_19 TriggeredBy = Upgrade_AmericaRadar End Behavior = OCLSpecialPower ModuleTag_20 SpecialPowerTemplate = SuperweaponDaisyCutter UpgradeOCL = SCIENCE_MOAB SUPERWEAPON_MOAB OCL = SUPERWEAPON_DaisyCutter CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_21 SpecialPowerTemplate = SpecialPowerSpyDrone OCL = SUPERWEAPON_SpyDrone CreateLocation = CREATE_ABOVE_LOCATION End Behavior = OCLSpecialPower ModuleTag_22 SpecialPowerTemplate = SuperweaponParadropAmerica UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3 UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2 OCL = SUPERWEAPON_Paradrop1 CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE OCLAdjustPositionToPassable = Yes ;Like RA2, shift target to passable cell so we don't land in water and on cliffs. End ; Behavior = OCLSpecialPower ModuleTag_23;this has been removed from everywhere but the ChinaAirfield in CHI05 ; SpecialPowerTemplate = SuperweaponCarpetBomb ; OCL = SUPERWEAPON_CarpetBomb ; CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE ; End Behavior = OCLSpecialPower ModuleTag_24 SpecialPowerTemplate = SpecialPowerSpySatellite OCL = SUPERWEAPON_SpySatellite CreateLocation = CREATE_AT_LOCATION End Behavior = OCLSpecialPower ModuleTag_25 SpecialPowerTemplate = SuperweaponCrateDrop OCL = SUPERWEAPON_CrateDrop CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_26 SpecialPowerTemplate = SuperweaponA10ThunderboltMissileStrike UpgradeOCL = SCIENCE_A10ThunderboltMissileStrike3 SUPERWEAPON_A10ThunderboltMissileStrike3 UpgradeOCL = SCIENCE_A10ThunderboltMissileStrike2 SUPERWEAPON_A10ThunderboltMissileStrike2 OCL = SUPERWEAPON_A10ThunderboltMissileStrike1 CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_27 SpecialPowerTemplate = SuperweaponEmergencyRepair UpgradeOCL = SCIENCE_EmergencyRepair3 SUPERWEAPON_RepairVehicles3 UpgradeOCL = SCIENCE_EmergencyRepair2 SUPERWEAPON_RepairVehicles2 OCL = SUPERWEAPON_RepairVehicles1 CreateLocation = CREATE_AT_LOCATION End ;;;; **NOTE put this back in? ; note that this power isn't normally available to human players, only to AI ones ;Behavior = DefectorSpecialPower ModuleTag_28 ; SpecialPowerTemplate = SpecialPowerDefector ; @todo lorenzen add fatcursor params ;End ;Kris: Now launched by OCLSpecialPower for DaisyCutter. ;Behavior = OCLSpecialPower ModuleTag_29 ; SpecialPowerTemplate = SuperweaponMOAB ; OCL = SUPERWEAPON_MOAB ; CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE ;End Behavior = FlammableUpdate ModuleTag_30 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_31 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = SpecialAbility ModuleTag_32 SpecialPowerTemplate = AirF_SuperweaponSpectreGunship UpdateModuleStartsAttack = Yes End ;Kris: Order matters -- process in order of highest level to lowest level technology. Behavior = SpectreGunshipDeploymentUpdate ModuleSpectre_3 SpecialPowerTemplate = AirF_SuperweaponSpectreGunship RequiredScience = SCIENCE_SpectreGunship3 GunshipTemplateName = AirF_AmericaJetSpectreGunship3 AttackAreaRadius = 200 CreateLocation = CREATE_AT_EDGE_FARTHEST_FROM_TARGET ;other choices are: *NEAR_SOURCE *FARTHEST_FROM_SOURCE *NEAR_TARGET End Behavior = SpectreGunshipDeploymentUpdate ModuleSpectre_2 SpecialPowerTemplate = AirF_SuperweaponSpectreGunship RequiredScience = SCIENCE_SpectreGunship2 GunshipTemplateName = AirF_AmericaJetSpectreGunship2 AttackAreaRadius = 200 CreateLocation = CREATE_AT_EDGE_FARTHEST_FROM_TARGET ;other choices are: *NEAR_SOURCE *FARTHEST_FROM_SOURCE *NEAR_TARGET End Behavior = SpectreGunshipDeploymentUpdate ModuleSpectre_1 SpecialPowerTemplate = AirF_SuperweaponSpectreGunship RequiredScience = SCIENCE_SpectreGunship1 GunshipTemplateName = AirF_AmericaJetSpectreGunship1 AttackAreaRadius = 200 CreateLocation = CREATE_AT_EDGE_FARTHEST_FROM_TARGET ;other choices are: *NEAR_SOURCE *FARTHEST_FROM_SOURCE *NEAR_TARGET End Behavior = OCLSpecialPower ModuleTag_34 SpecialPowerTemplate = Early_SuperweaponLeafletDrop OCL = SUPERWEAPON_LeafletDrop CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End ;Behavior = CommandSetUpgrade ModuleTag_35 ; CommandSet = SupW_AmericaCommandCenterCommandSetToMOAB ; TriggeredBy = Upgrade_AmericaMOAB ;End Behavior = GrantScienceUpgrade ModuleTag_Science GrantScience = SCIENCE_MOAB TriggeredBy = Upgrade_AmericaMOAB End Geometry = BOX GeometryMajorRadius = 60.0 GeometryMinorRadius = 70.0 GeometryHeight = 49.0 GeometryIsSmall = No FactoryExitWidth = 25 ; How much space to leave for units exiting. Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object SupW_AmericaParticleCannonUplink ; *** ART Parameters *** SelectPortrait = SAUplink_L ButtonImage = SAUplink Draw = W3DModelDraw ModuleTag_01 ExtraPublicBone = FX01 ExtraPublicBone = FX02 ExtraPublicBone = FX03 ExtraPublicBone = FX04 ExtraPublicBone = FX05 OkToChangeModelColor = Yes ; day ************************************** ConditionState = NONE Model = ABSDILink Animation = ABSDILink.ABSDILink AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED Model = ABSDILink_D Animation = ABSDILink_D.ABSDILink_D AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE Model = ABSDILink_E Animation = ABSDILink_E.ABSDILink_E AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; night ************************************* ConditionState = NIGHT Model = ABSDILink_N Animation = ABSDILink_N.ABSDILink_N AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED NIGHT Model = ABSDILink_DN Animation = ABSDILink_DN.ABSDILink_DN AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABSDILink_EN Animation = ABSDILink_EN.ABSDILink_EN AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; day snow ************************************** ConditionState = SNOW Model = ABSDILink_S Animation = ABSDILink_S.ABSDILink_S AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED SNOW Model = ABSDILink_DS Animation = ABSDILink_DS.ABSDILink_DS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABSDILink_ES Animation = ABSDILink_ES.ABSDILink_ES AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; night snow ************************************* ConditionState = NIGHT SNOW Model = ABSDILink_NS Animation = ABSDILink_NS.ABSDILink_NS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED NIGHT SNOW Model = ABSDILink_DNS Animation = ABSDILink_DNS.ABSDILink_DNS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABSDILink_ENS Animation = ABSDILink_ENS.ABSDILink_ENS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink Animation = ABSDILink.ABSDILink AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABSDILink_D Animation = ABSDILink_D.ABSDILink_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABSDILink_E Animation = ABSDILink_E.ABSDILink_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABSDILink_N Animation = ABSDILink_N.ABSDILink_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABSDILink_DN Animation = ABSDILink_DN.ABSDILink_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABSDILink_EN Animation = ABSDILink_EN.ABSDILink_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABSDILink_S Animation = ABSDILink_S.ABSDILink_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABSDILink_DS Animation = ABSDILink_DS.ABSDILink_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABSDILink_ES Animation = ABSDILink_ES.ABSDILink_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABSDILink_NS Animation = ABSDILink_NS.ABSDILink_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABSDILink_DNS Animation = ABSDILink_DNS.ABSDILink_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABSDILink_ENS Animation = ABSDILink_ENS.ABSDILink_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ;------------ the cannon section (hatch, dish animations) ----------- Draw = W3DModelDraw ModuleTag_02 ExtraPublicBone = FXConnector ExtraPublicBone = FXMain OkToChangeModelColor = Yes ; day ************************************** ConditionState = NONE Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW ConditionState = DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = AWAITING_CONSTRUCTION Model = None End AliasConditionState = NIGHT AWAITING_CONSTRUCTION AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION AliasConditionState = SNOW AWAITING_CONSTRUCTION ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A1 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABSDILink_A1D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE ;Preparing to fire! ConditionState = UNPACKING Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End AliasConditionState = NIGHT UNPACKING AliasConditionState = NIGHT SNOW UNPACKING AliasConditionState = SNOW UNPACKING ConditionState = UNPACKING DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End AliasConditionState = NIGHT UNPACKING DAMAGED AliasConditionState = NIGHT SNOW UNPACKING DAMAGED AliasConditionState = SNOW UNPACKING DAMAGED ConditionState = UNPACKING REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End AliasConditionState = NIGHT UNPACKING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW UNPACKING REALLYDAMAGED RUBBLE AliasConditionState = SNOW UNPACKING REALLYDAMAGED RUBBLE ;Ready to fire -- or firing! ConditionState = DEPLOYED Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DEPLOYED AliasConditionState = NIGHT SNOW DEPLOYED AliasConditionState = SNOW DEPLOYED ConditionState = DEPLOYED DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DEPLOYED DAMAGED AliasConditionState = NIGHT SNOW DEPLOYED DAMAGED AliasConditionState = SNOW DEPLOYED DAMAGED ConditionState = DEPLOYED REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DEPLOYED REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DEPLOYED REALLYDAMAGED RUBBLE AliasConditionState = SNOW DEPLOYED REALLYDAMAGED RUBBLE ;Packing up (recharging for new attack) ConditionState = PACKING Model = ABSDILink_A1 Animation = ABSDILink_A1.ABSDILink_A1 AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES3 End AliasConditionState = NIGHT PACKING AliasConditionState = NIGHT SNOW PACKING AliasConditionState = SNOW PACKING ConditionState = PACKING DAMAGED Model = ABSDILink_A1D Animation = ABSDILink_A1D.ABSDILink_A1D AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES3 End AliasConditionState = NIGHT PACKING DAMAGED AliasConditionState = NIGHT SNOW PACKING DAMAGED AliasConditionState = SNOW PACKING DAMAGED ConditionState = PACKING REALLYDAMAGED RUBBLE Model = ABSDILink_A1E Animation = ABSDILink_A1E.ABSDILink_A1E AnimationMode = ONCE_BACKWARDS Flags = MAINTAIN_FRAME_ACROSS_STATES3 End AliasConditionState = NIGHT PACKING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW PACKING REALLYDAMAGED RUBBLE AliasConditionState = SNOW PACKING REALLYDAMAGED RUBBLE ConditionState = SOLD DEPLOYED Model = NONE End ConditionState = SOLD SNOW DEPLOYED Model = NONE End ConditionState = SOLD NIGHT DEPLOYED Model = NONE End ConditionState = SOLD NIGHT SNOW DEPLOYED Model = NONE End End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4 Animation = ABSDILink_A4.ABSDILink_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4N Animation = ABSDILink_A4N.ABSDILink_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4S Animation = ABSDILink_A4S.ABSDILink_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A4SN Animation = ABSDILink_A4SN.ABSDILink_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSDILink_A4 Animation = ABSDILink_A4.ABSDILink_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSDILink_A4N Animation = ABSDILink_A4N.ABSDILink_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSDILink_A4S Animation = ABSDILink_A4S.ABSDILink_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSDILink_A4SN Animation = ABSDILink_A4SN.ABSDILink_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSDILink_A4 Animation = ABSDILink_A4.ABSDILink_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSDILink_A4N Animation = ABSDILink_A4N.ABSDILink_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSDILink_A4S Animation = ABSDILink_A4S.ABSDILink_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSDILink_A4SN Animation = ABSDILink_A4SN.ABSDILink_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABSDILink_A6 Animation = ABSDILink_A6.ABSDILink_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABSDILink_A6N Animation = ABSDILink_A6N.ABSDILink_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABSDILink_A6S Animation = ABSDILink_A6S.ABSDILink_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABSDILink_A6SN Animation = ABSDILink_A6SN.ABSDILink_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSDILink_A6 Animation = ABSDILink_A6.ABSDILink_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSDILink_A6N Animation = ABSDILink_A6N.ABSDILink_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSDILink_A6S Animation = ABSDILink_A6S.ABSDILink_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSDILink_A6SN Animation = ABSDILink_A6SN.ABSDILink_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSDILink_A6 Animation = ABSDILink_A6.ABSDILink_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSDILink_A6N Animation = ABSDILink_A6N.ABSDILink_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSDILink_A6S Animation = ABSDILink_A6S.ABSDILink_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSDILink_A6SN Animation = ABSDILink_A6SN.ABSDILink_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5 Animation = ABSDILink_A5.ABSDILink_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5N Animation = ABSDILink_A5N.ABSDILink_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5S Animation = ABSDILink_A5S.ABSDILink_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABSDILink_A5SN Animation = ABSDILink_A5SN.ABSDILink_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSDILink_AB Animation = ABSDILink_AB.ABSDILink_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSDILink_ABN Animation = ABSDILink_ABN.ABSDILink_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSDILink_ABS Animation = ABSDILink_ABS.ABSDILink_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSDILink_ABSN Animation = ABSDILink_ABSN.ABSDILink_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSDILink_AB Animation = ABSDILink_AB.ABSDILink_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSDILink_ABN Animation = ABSDILink_ABN.ABSDILink_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSDILink_ABS Animation = ABSDILink_ABS.ABSDILink_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSDILink_ABSN Animation = ABSDILink_ABSN.ABSDILink_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:ParticleCannon Side = AmericaSuperWeaponGeneral EditorSorting = STRUCTURE Prerequisites Object = SupW_AmericaStrategyCenter End BuildCost = 2500 BuildTime = 60.0 ; in seconds EnergyProduction = -10 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ShroudRevealToAllRange = 60 ; Reveals shroud to all players at a specific amount which can be different. ; Using same value? Then use KINDOF_REVEAL_TO_ALL instead! ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End CommandSet = SupW_AmericaParticleUplinkCannonCommandSet ExperienceValue = 400 400 400 400 ; Experience point value at each level MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games MaxSimultaneousLinkKey = Superweapon ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType ; *** AUDIO Parameters *** VoiceSelect = ParticleCannonSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY POWERED MP_COUNT_FOR_VICTORY FS_SUPERWEAPON Body = StructureBody ModuleTag_06 MaxHealth = 4000.0 InitialHealth = 4000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 4200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = BaseRegenerateUpdate ModuleTag_07 ;No data End Behavior = SpecialPowerCreate ModuleTag_16 ;nothing End Behavior = SpecialAbility ModuleTag_11 SpecialPowerTemplate = SuperweaponParticleUplinkCannon UpdateModuleStartsAttack = Yes End Behavior = ParticleUplinkCannonUpdate ModuleTag_12 SpecialPowerTemplate = SuperweaponParticleUplinkCannon ;The values trigger the various pre-stages before being ready to actually fire. ;The total combined value of these determines the first sign of activity in the ;cannon. BeginChargeTime = 5000 ;The outer nodes begin to charge. RaiseAntennaTime = 4667 ;The hatch opens and raises antenna (matches animation speed) ReadyDelayTime = 2000 ;The time after antenna is raised prior to being ready to fire. ;***NOTE -- these values effect gameplay***** TotalFiringTime = 10000 ;The total ground contact time of the beam DamagePerSecond = 400 ;Amount of damage inflicted per second TotalDamagePulses = 40 ;The total number of damage pulses -- less means more damage per pulse, but less accurate WidthGrowTime = 2000 ;The amount of time it takes for the beam to reach full diameter (same value used for shrinking) BeamTravelTime = 2500 ;How long it takes for the beam to hit the ground after leaving the firing dish. DamageType = PARTICLE_BEAM ;Type of damage inflicted. DamageRadiusScalar = 3.4 ;Multiplies the radius (relative to beam diameter) so that things close to the beam can get hit too! RevealRange = 50.0 ;Grants gratuitous vision for the player launching the target as the beam cuts it's swath of death. ;******************************************** ;Bone names for required elements OuterEffectBoneName = FX ;The base name for the outer node bones. OuterEffectNumBones = 5 ;The number of outer nodes. ConnectorBoneName = FXConnector ;The name of the bone where the connector lasers meet. FireBoneName = FXMain ;The name of the bone where the main beam is fired from. ;These are particle systems tied to the outer nodes in varying intensities. OuterNodesLightFlareParticleSystem = SupW_ParticleUplinkCannon_OuterNodeLightFlare OuterNodesMediumFlareParticleSystem = SupW_ParticleUplinkCannon_OuterNodeMediumFlare OuterNodesIntenseFlareParticleSystem = SupW_ParticleUplinkCannon_OuterNodeIntenseFlare ;The connectors system connects each of the outer nodes to the central node that receives ;the lasers from outside. ConnectorMediumLaserName = SupW_ParticleUplinkCannon_MediumConnectorLaser ConnectorIntenseLaserName = SupW_ParticleUplinkCannon_IntenseConnectorLaser ;Currently commented out -- These ;ConnectorMediumFlare = ParticleUplinkCannon_InnerConnectorMediumFlare ;ConnectorIntenseFlare = ParticleUplinkCannon_InnerConnectorIntenseFlare ;This is the name of the bone on the building where the beam is fired from LaserBaseLightFlareParticleSystemName = ParticleUplinkCannon_LaserBaseReadyToFire ParticleBeamLaserName = SupW_ParticleUplinkCannon_OrbitalLaser GroundHitFX = FX_ParticleUplinkCannon_BeamHitsGround ;TotalScorchMarks determines how many times this gets called. ;The flare fxlist that is played over and over during the beam firing process. Be ;mindful of the delay because that effects both art and sound. BeamLaunchFX = SupW_FX_ParticleUplinkCannon_BeamLaunchIteration DelayBetweenLaunchFX = 1000 ;Each scorch mark creates an object in the world, so while making more looks better ;it becomes a performance issue. The scalar will calculate the size of the scorch ;mark to make based on the current size of the beam (which changes dynamically). The ;number also matches the number of times the "GroundHitFX" is called. TotalScorchMarks = 20 ScorchMarkScalar = 2.4 ;***NOTE -- these values effect gameplay*** ;The swath of death is the path the laser tracers centered on the targeted position. ;If the amplitude is zero, the line will go straight, with a higher value, it'll do ;a sine wave iteration, but always goes through the target point. SwathOfDeathDistance = 200.0 SwathOfDeathAmplitude = 50.0 ManualDrivingSpeed = 20 ManualFastDrivingSpeed = 40 DoubleClickToFastDriveDelay = 500 ;***SOUNDS!**** PoweringUpSoundLoop = ParticleUplinkCannon_PowerupSoundLoop UnpackToIdleSoundLoop = ParticleUplinkCannon_UnpackToIdleSoundLoop FiringToPackSoundLoop = ParticleUplinkCannon_FiringToPackSoundLoop GroundAnnihilationSoundLoop = ParticleUplinkCannon_GroundAnnihilationSoundLoop ;The trail left behind creates an object that inflicts extra damage for a short period of time. DamagePulseRemnantObjectName = ParticleUplinkCannonTrailRemnant End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = ProductionUpdate ModuleTag_15 ; This is needed in order to get a public timer to work! End Behavior = TransitionDamageFX ModuleTag_17 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = SlowDeathBehavior ModuleTag_18 ; don't run this death if we are under construction... ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 2000 FX = INITIAL FX_ParticleUplinkDeathInitial OCL = INITIAL OCL_SDILinkLasers FX = FINAL FX_StructureMediumDeath OCL = FINAL OCL_ParticleUplinkDeathFinal End Behavior = InstantDeathBehavior ModuleTag_19 ; if we are under construction, use this death instead RequiredStatus = UNDER_CONSTRUCTION OCL = OCL_ABPowerPlantExplode FX = FX_StructureMediumDeath End Geometry = BOX GeometryMajorRadius = 64.0 GeometryMinorRadius = 38.0 GeometryHeight = 38.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object SupW_AmericaStrategyCenter ; *** ART Parameters *** SelectPortrait = SAStrategyCenter_L ButtonImage = SAStrategyCenter Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day *************************************************** ConditionState = NONE Model = ABStrategy Animation = ABStrategy.ABStrategy AnimationMode = LOOP End ConditionState = DAMAGED Model = ABStrategy_D Animation = ABStrategy_D.ABStrategy_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = ABStrategy_E Animation = ABStrategy_E.ABStrategy_E AnimationMode = LOOP End ; SNOW *************************************************** ConditionState = SNOW Model = ABStrategy_S Animation = ABStrategy_S.ABStrategy_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABStrategy_DS Animation = ABStrategy_DS.ABStrategy_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABStrategy_ES Animation = ABStrategy_ES.ABStrategy_ES AnimationMode = LOOP End ; night ************************************************** ConditionState = NIGHT Model = ABStrategy_N Animation = ABStrategy_N.ABStrategy_N AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End ConditionState = NIGHT DAMAGED Model = ABStrategy_DN Animation = ABStrategy_DN.ABStrategy_DN AnimationMode = LOOP End ConditionState = NIGHT REALLYDAMAGED RUBBLE Model = ABStrategy_EN Animation = ABStrategy_EN.ABStrategy_EN AnimationMode = LOOP End ; night Snow************************************************** ConditionState = NIGHT SNOW Model = ABStrategy_NS Animation = ABStrategy_NS.ABStrategy_NS AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End ConditionState = NIGHT DAMAGED SNOW Model = ABStrategy_DNS Animation = ABStrategy_DNS.ABStrategy_DNS AnimationMode = LOOP End ConditionState = NIGHT REALLYDAMAGED RUBBLE SNOW Model = ABStrategy_ENS Animation = ABStrategy_ENS.ABStrategy_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy Animation = ABStrategy.ABStrategy AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABStrategy_D Animation = ABStrategy_D.ABStrategy_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABStrategy_E Animation = ABStrategy_E.ABStrategy_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABStrategy_N Animation = ABStrategy_N.ABStrategy_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABStrategy_DN Animation = ABStrategy_DN.ABStrategy_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABStrategy_EN Animation = ABStrategy_EN.ABStrategy_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABStrategy_S Animation = ABStrategy_S.ABStrategy_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABStrategy_DS Animation = ABStrategy_DS.ABStrategy_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABStrategy_ES Animation = ABStrategy_ES.ABStrategy_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABStrategy_NS Animation = ABStrategy_NS.ABStrategy_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABStrategy_DNS Animation = ABStrategy_DNS.ABStrategy_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABStrategy_ENS Animation = ABStrategy_ENS.ABStrategy_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No OkToChangeModelColor = Yes DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A4 Animation = ABStrategy_A4.ABStrategy_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SparksS01 LiveWireSparks02 ParticleSysBone = SmokeS01 SmokeBuildingSmall End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A4N Animation = ABStrategy_A4N.ABStrategy_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SparksS01 LiveWireSparks02 ParticleSysBone = SmokeS01 SmokeBuildingSmall End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A4S Animation = ABStrategy_A4S.ABStrategy_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SparksS01 LiveWireSparks02 ParticleSysBone = SmokeS01 SmokeBuildingSmall End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A4SN Animation = ABStrategy_A4SN.ABStrategy_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SparksS01 LiveWireSparks02 ParticleSysBone = SmokeS01 SmokeBuildingSmall End TransitionState = DOWN_DEFAULT UP_DAY Model = ABStrategy_A4 Animation = ABStrategy_A4.ABStrategy_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABStrategy_A4N Animation = ABStrategy_A4N.ABStrategy_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABStrategy_A4S Animation = ABStrategy_A4S.ABStrategy_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABStrategy_A4SN Animation = ABStrategy_A4SN.ABStrategy_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABStrategy_A4 Animation = ABStrategy_A4.ABStrategy_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABStrategy_A4N Animation = ABStrategy_A4N.ABStrategy_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABStrategy_A4S Animation = ABStrategy_A4S.ABStrategy_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABStrategy_A4SN Animation = ABStrategy_A4SN.ABStrategy_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM OkToChangeModelColor = Yes DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABStrategy_A6 Animation = ABStrategy_A6.ABStrategy_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABStrategy_A6N Animation = ABStrategy_A6N.ABStrategy_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABStrategy_A6S Animation = ABStrategy_A6S.ABStrategy_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABStrategy_A6SN Animation = ABStrategy_A6SN.ABStrategy_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABStrategy_A6 Animation = ABStrategy_A6.ABStrategy_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABStrategy_A6N Animation = ABStrategy_A6N.ABStrategy_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABStrategy_A6S Animation = ABStrategy_A6S.ABStrategy_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABStrategy_A6SN Animation = ABStrategy_A6SN.ABStrategy_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABStrategy_A6 Animation = ABStrategy_A6.ABStrategy_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABStrategy_A6N Animation = ABStrategy_A6N.ABStrategy_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABStrategy_A6S Animation = ABStrategy_A6S.ABStrategy_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABStrategy_A6SN Animation = ABStrategy_A6SN.ABStrategy_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A5 Animation = ABStrategy_A5.ABStrategy_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A5N Animation = ABStrategy_A5N.ABStrategy_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A5S Animation = ABStrategy_A5S.ABStrategy_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A5SN Animation = ABStrategy_A5SN.ABStrategy_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABStrategy_AB Animation = ABStrategy_AB.ABStrategy_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABStrategy_ABN Animation = ABStrategy_ABN.ABStrategy_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABStrategy_ABS Animation = ABStrategy_ABS.ABStrategy_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABStrategy_ABSN Animation = ABStrategy_ABSN.ABStrategy_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABStrategy_AB Animation = ABStrategy_AB.ABStrategy_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABStrategy_ABN Animation = ABStrategy_ABN.ABStrategy_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABStrategy_ABS Animation = ABStrategy_ABS.ABStrategy_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABStrategy_ABSN Animation = ABStrategy_ABSN.ABStrategy_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ BOMBARDMENT BATTLE PLAN ----------------- Draw = W3DModelDraw ModuleTag_05 OkToChangeModelColor = Yes DefaultConditionState Model = ABStrategy_A1 Animation = ABStrategy_A1.ABStrategy_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = ABStrategy_A1 Animation = ABStrategy_A1.ABStrategy_A1 AnimationMode = ONCE End AliasConditionState = DAMAGED DOOR_1_OPENING AliasConditionState = REALLYDAMAGED DOOR_1_OPENING AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = NIGHT SNOW DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = NIGHT DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_OPENING AliasConditionState = SNOW DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING ConditionState = DOOR_1_CLOSING Model = ABStrategy_A1 Animation = ABStrategy_A1.ABStrategy_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = DAMAGED DOOR_1_CLOSING AliasConditionState = REALLYDAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING ConditionState = DOOR_1_WAITING_TO_CLOSE Model = NONE End AliasConditionState = DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A1 Animation = ABStrategy_A1.ABStrategy_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE ;************************************************************************************************************************** End Draw = W3DModelDraw ModuleTag_06 ;***This is the bombardment cannon object that only shows up when ready to fire*** OkToChangeModelColor = Yes DefaultConditionState Model = ABStrategy_A8 WeaponLaunchBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponRecoilBone = PRIMARY Barrel Turret = Turret01 TurretPitch = TurretEL HideSubObject = Chassis End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_TO_CLOSE Model = ABStrategy_A8 ShowSubObject = Chassis End AliasConditionState = DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_TO_CLOSE ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABStrategy_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = ABStrategy_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DAMAGED DOOR_1_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED DOOR_1_WAITING_TO_CLOSE End ; ------------ HOLD THE LINE BATTLE PLAN ----------------- Draw = W3DModelDraw ModuleTag_07 OkToChangeModelColor = Yes DefaultConditionState Model = ABStrategy_A7 Animation = ABStrategy_A7.ABStrategy_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_2_OPENING Model = ABStrategy_A7 Animation = ABStrategy_A7.ABStrategy_A7 AnimationMode = ONCE End AliasConditionState = DAMAGED DOOR_2_OPENING AliasConditionState = REALLYDAMAGED DOOR_2_OPENING AliasConditionState = NIGHT DOOR_2_OPENING AliasConditionState = NIGHT SNOW DOOR_2_OPENING AliasConditionState = SNOW DOOR_2_OPENING AliasConditionState = NIGHT DAMAGED DOOR_2_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_OPENING AliasConditionState = SNOW DAMAGED DOOR_2_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING ConditionState = DOOR_2_CLOSING Model = ABStrategy_A7 Animation = ABStrategy_A7.ABStrategy_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = DAMAGED DOOR_2_CLOSING AliasConditionState = REALLYDAMAGED DOOR_2_CLOSING AliasConditionState = NIGHT DOOR_2_CLOSING AliasConditionState = NIGHT SNOW DOOR_2_CLOSING AliasConditionState = SNOW DOOR_2_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_2_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_CLOSING AliasConditionState = SNOW DAMAGED DOOR_2_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING ConditionState = DOOR_2_WAITING_TO_CLOSE Model = ABStrategy_A7 Animation = ABStrategy_A7.ABStrategy_A7 AnimationMode = ONCE Flags = START_FRAME_LAST End AliasConditionState = DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DOOR_2_WAITING_TO_CLOSE AliasConditionState = SNOW DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_TO_CLOSE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_TO_CLOSE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DAMAGED DOOR_2_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED DOOR_2_WAITING_TO_CLOSE ;************************************************************************************************************************** End ; ------------ SEARCH AND DESTROY BATTLE PLAN ----------------- Draw = W3DModelDraw ModuleTag_08 OkToChangeModelColor = Yes DefaultConditionState Model = ABStrategy_A2 Animation = ABStrategy_A2.ABStrategy_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_FIRST End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_3_OPENING Model = ABStrategy_A2 Animation = ABStrategy_A2.ABStrategy_A2 AnimationMode = ONCE End AliasConditionState = DAMAGED DOOR_3_OPENING AliasConditionState = REALLYDAMAGED DOOR_3_OPENING AliasConditionState = NIGHT DOOR_3_OPENING AliasConditionState = NIGHT SNOW DOOR_3_OPENING AliasConditionState = SNOW DOOR_3_OPENING AliasConditionState = NIGHT DAMAGED DOOR_3_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_OPENING AliasConditionState = SNOW DAMAGED DOOR_3_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING ConditionState = DOOR_3_CLOSING Model = ABStrategy_A2 Animation = ABStrategy_A2.ABStrategy_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = DAMAGED DOOR_3_CLOSING AliasConditionState = REALLYDAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT DOOR_3_CLOSING AliasConditionState = NIGHT SNOW DOOR_3_CLOSING AliasConditionState = SNOW DOOR_3_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_CLOSING AliasConditionState = SNOW DAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING ConditionState = DOOR_3_WAITING_TO_CLOSE Model = NONE End AliasConditionState = DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABStrategy_A2 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE ;************************************************************************************************************************** End Draw = W3DModelDraw ModuleTag_09 ;***This is the radar array that only shows up when plan is active*** OkToChangeModelColor = Yes DefaultConditionState Model = NONE End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = NIGHT AliasConditionState = NIGHT SNOW AliasConditionState = SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_3_WAITING_TO_CLOSE Model = ABStrategy_A3 Animation = ABStrategy_A3.ABStrategy_A3 AnimationMode = LOOP End AliasConditionState = DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_TO_CLOSE ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW DAMAGED DOOR_3_WAITING_TO_CLOSE AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED DOOR_3_WAITING_TO_CLOSE End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:StrategyCenter Side = AmericaSuperWeaponGeneral EditorSorting = STRUCTURE Prerequisites Object = SupW_AmericaWarFactory SupW_AmericaAirfield End CommandSet = SupW_AmericaStrategyCenterCommandSet BuildCost = 2500 BuildTime = 60.0 ; in seconds EnergyProduction = -2 VisionRange = 400.0 ; Shroud clearing distance MaxSimultaneousOfType = 1 ShroudClearingRange = 400 WeaponSet Conditions = None Weapon = PRIMARY StrategyCenterGun AutoChooseSources = PRIMARY NONE End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 250 250 250 250 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = StrategyCenterSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = NoSound ;These aren't playing properly, will revisit. (mp) StrategyCenter_TurretMoveLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY FS_STRATEGY_CENTER FS_ADVANCED_TECH Body = StructureBody ModuleTag_10 MaxHealth = 1500.0 InitialHealth = 1500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1700 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ProductionUpdate ModuleTag_11 ; nothing End Behavior = BaseRegenerateUpdate ModuleTag_12 ;No data End Behavior = SpecialAbility ModuleTag_13 SpecialPowerTemplate = SpecialAbilityChangeBattlePlans UpdateModuleStartsAttack = Yes End Behavior = BattlePlanUpdate ModuleTag_14 SpecialPowerTemplate = SpecialAbilityChangeBattlePlans ;Transition Timings BombardmentPlanAnimationTime = 7000 HoldTheLinePlanAnimationTime = 7000 SearchAndDestroyPlanAnimationTime = 7000 TransitionIdleTime = 0 ;Messages BombardmentMessageLabel = MESSAGE:BattlePlanBombardmentInitiated HoldTheLineMessageLabel = MESSAGE:BattlePlanHoldTheLineInitiated SearchAndDestroyMessageLabel = MESSAGE:BattlePlanSearchAndDestroyInitiated ;Audio hooks BombardmentPlanUnpackSoundName = StrategyCenter_BombardmentPlanUnpackSound BombardmentPlanPackSoundName = StrategyCenter_BombardmentPlanPackSound BombardmentAnnouncementName = StrategyCenter_BombardmentPlanAnnouncement SearchAndDestroyPlanUnpackSoundName = StrategyCenter_SearchAndDestroyPlanUnpack SearchAndDestroyPlanIdleLoopSoundName = StrategyCenter_SearchAndDestroyPlanIdleLoop SearchAndDestroyPlanPackSoundName = StrategyCenter_SearchAndDestroyPlanPack SearchAndDestroyAnnouncementName = StrategyCenter_SearchAndDestroyAnnouncement HoldTheLinePlanUnpackSoundName = StrategyCenter_HoldTheLinePlanUnpack HoldTheLinePlanPackSoundName = StrategyCenter_HoldTheLinePlanPack HoldTheLineAnnouncementName = StrategyCenter_HoldTheLineAnnouncement ;Army bonuses granted by different battle plans ValidMemberKindOf = INFANTRY CAN_ATTACK VEHICLE ;Battle plans affect any kind of these... InvalidMemberKindOf = DOZER STRUCTURE AIRCRAFT DRONE ;...but make sure they don't have any of these BattlePlanChangeParalyzeTime = 5000 ;Subjected to paralyzation whenever a battle plan is changed. HoldTheLinePlanArmorDamageScalar = 0.9 ;Armor damage bonus scalar -- LESS is better! SearchAndDestroyPlanSightRangeScalar = 1.2 ;Sight range bonus -- more is better! ;***NOTE*** WEAPON bonuses for army are specified in GameData.ini file! ;Building bonuses granted based on battle plan mode. StrategyCenterSearchAndDestroySightRangeScalar = 2.0 StrategyCenterSearchAndDestroyDetectsStealth = Yes StrategyCenterHoldTheLineMaxHealthScalar = 2.0 StrategyCenterHoldTheLineMaxHealthChangeType = PRESERVE_RATIO ;Revealing info ;VisionObjectName = VisionObject End Behavior = AIUpdateInterface ModuleTag_15 Turret ControlledWeaponSlots = PRIMARY TurretTurnRate = 60 // turn rate, in degrees per sec TurretPitchRate = 60 AllowsPitch = Yes FiresWhileTurning = Yes NaturalTurretPitch = 45 ; this keeps it aimed half way between land and sky ; since you never know from whence cometh danger NaturalTurretAngle = -90 ; this turret points backwards normally FirePitch = 45 ; Instead of aiming pitchwise at the target, it will aim here MinIdleScanInterval = 500 ; in milliseconds MaxIdleScanInterval = 1000 ; in milliseconds MinIdleScanAngle = 0 ; in degrees off the natural turret angle MaxIdleScanAngle = 60 ; in degrees off the natural turret angle End AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS End Behavior = StealthDetectorUpdate ModuleTag_16 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) InitiallyDisabled = Yes ; only will be active when search & destroy plan active. DetectionRange = 500 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = SpyVisionSpecialPower SpyTag_1 SpecialPowerTemplate = SuperweaponCIAIntelligence BaseDuration = 30000 ;in milliseconds BonusDurationPerCaptured = 10000 ;in milliseconds MaxDuration = 240000 ;in milliseconds End Behavior = SpyVisionUpdate SpyTag_2 ; End Behavior = DestroyDie ModuleTag_17 ;nothing End Behavior = CreateObjectDie ModuleTag_18 CreationList = OCL_ABPowerPlantExplode End Behavior = CreateObjectDie ModuleTag_19 CreationList = SupW_OCL_AmericanRangerDebris04 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_20 DeathFX = FX_StructureMediumDeath End Behavior = FlammableUpdate ModuleTag_22 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_23 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 62.0 GeometryMinorRadius = 44.0 GeometryHeight = 24.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object SupW_AmericaAirfield ; *** ART Parameters *** SelectPortrait = SAACommand_L ButtonImage = SAACommand Draw = W3DModelDraw ModuleTag_01 ExtraPublicBone = Runway1Parking1 ExtraPublicBone = Runway1Parking2 ExtraPublicBone = Runway2Parking1 ExtraPublicBone = Runway2Parking2 ExtraPublicBone = Runway1Park1Han ExtraPublicBone = Runway1Park2Han ExtraPublicBone = Runway2Park1Han ExtraPublicBone = Runway2Park2Han ExtraPublicBone = Runway1Prep1 ExtraPublicBone = Runway1Prep2 ExtraPublicBone = Runway2Prep1 ExtraPublicBone = Runway2Prep2 ExtraPublicBone = RunwayStart1 ExtraPublicBone = RunwayStart2 ExtraPublicBone = RunwayEnd1 ExtraPublicBone = RunwayEnd2 ExtraPublicBone = HeliPark01 OkToChangeModelColor = Yes ; day ******************************************** DefaultConditionState Model = ABArFrcCmd Animation = ABArFrcCmd.ABArFrcCmd AnimationMode = LOOP End ConditionState = DAMAGED Model = ABArFrcCmd_D Animation = ABArFrcCmd_D.ABArFrcCmd_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = ABArFrcCmd_E Animation = ABArFrcCmd_E.ABArFrcCmd_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmokeFactionLarge ParticleSysBone = Smoke06 SmokeFactionLarge ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 FireFactionLarge ParticleSysBone = Spark01 SparksLarge End ConditionState = SNOW Model = ABArFrcCmd_S Animation = ABArFrcCmd_S.ABArFrcCmd_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABArFrcCmd_DS Animation = ABArFrcCmd_DS.ABArFrcCmd_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABArFrcCmd_ES Animation = ABArFrcCmd_ES.ABArFrcCmd_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmokeFactionLarge ParticleSysBone = Smoke06 SmokeFactionLarge ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 FireFactionLarge ParticleSysBone = Spark01 SparksLarge End ; night ****************************************** ConditionState = NIGHT Model = ABArFrcCmd_N Animation = ABArFrcCmd_N.ABArFrcCmd_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = ABArFrcCmd_ND Animation = ABArFrcCmd_ND.ABArFrcCmd_ND AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABArFrcCmd_NE Animation = ABArFrcCmd_NE.ABArFrcCmd_NE AnimationMode = LOOP End ConditionState = NIGHT SNOW Model = ABArFrcCmd_NS Animation = ABArFrcCmd_NS.ABArFrcCmd_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = ABArFrcCmd_NDS Animation = ABArFrcCmd_NDS.ABArFrcCmd_NDS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABArFrcCmd_NES Animation = ABArFrcCmd_NES.ABArFrcCmd_NES AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd Animation = ABArFrcCmd.ABArFrcCmd AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABArFrcCmd_D Animation = ABArFrcCmd_D.ABArFrcCmd_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABArFrcCmd_E Animation = ABArFrcCmd_E.ABArFrcCmd_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABArFrcCmd_N Animation = ABArFrcCmd_N.ABArFrcCmd_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABArFrcCmd_ND Animation = ABArFrcCmd_ND.ABArFrcCmd_ND AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABArFrcCmd_NE Animation = ABArFrcCmd_NE.ABArFrcCmd_NE AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABArFrcCmd_S Animation = ABArFrcCmd_S.ABArFrcCmd_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABArFrcCmd_DS Animation = ABArFrcCmd_DS.ABArFrcCmd_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABArFrcCmd_ES Animation = ABArFrcCmd_ES.ABArFrcCmd_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABArFrcCmd_NS Animation = ABArFrcCmd_NS.ABArFrcCmd_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABArFrcCmd_NDS Animation = ABArFrcCmd_NDS.ABArFrcCmd_NDS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABArFrcCmd_NES Animation = ABArFrcCmd_NES.ABArFrcCmd_NES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ blinky production lights ----------------- Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = None End ConditionState = ACTIVELY_CONSTRUCTING Model = ABArFrcCmd_A9 Animation = ABArFrcCmd_A9.ABArFrcCmd_A9 AnimationMode = LOOP End End ; ----------------- door #1 ------------------- Draw = W3DModelDraw ModuleTag_03 ConditionState = NONE Model = ABArFrcCmd_A7 Animation = ABArFrcCmd_A7.ABArFrcCmd_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = ABArFrcCmd_A7 Animation = ABArFrcCmd_A7.ABArFrcCmd_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = NIGHT SNOW DOOR_1_OPENING AliasConditionState = NIGHT DAMAGED DOOR_1_OPENING AliasConditionState = SNOW DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_OPENING ConditionState = DOOR_1_CLOSING Model = ABArFrcCmd_A7 Animation = ABArFrcCmd_A7.ABArFrcCmd_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DOOR_1_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_1_CLOSING AliasConditionState = SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_CLOSING ConditionState = DOOR_1_WAITING_OPEN Model = ABArFrcCmd_A7 Animation = ABArFrcCmd_A7.ABArFrcCmd_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW DAMAGED DOOR_1_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_1_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABArFrcCmd_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABArFrcCmd_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- door #2 ------------------- Draw = W3DModelDraw ModuleTag_04 DefaultConditionState Model = ABArFrcCmd_A8 Animation = ABArFrcCmd_A8.ABArFrcCmd_A8 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_2_OPENING Model = ABArFrcCmd_A8 Animation = ABArFrcCmd_A8.ABArFrcCmd_A8 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_2_OPENING AliasConditionState = SNOW DOOR_2_OPENING AliasConditionState = NIGHT SNOW DOOR_2_OPENING AliasConditionState = NIGHT DAMAGED DOOR_2_OPENING AliasConditionState = SNOW DAMAGED DOOR_2_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_OPENING ConditionState = DOOR_2_CLOSING Model = ABArFrcCmd_A8 Animation = ABArFrcCmd_A8.ABArFrcCmd_A8 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_2_CLOSING AliasConditionState = SNOW DOOR_2_CLOSING AliasConditionState = NIGHT SNOW DOOR_2_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_2_CLOSING AliasConditionState = SNOW DAMAGED DOOR_2_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_CLOSING ConditionState = DOOR_2_WAITING_OPEN Model = ABArFrcCmd_A8 Animation = ABArFrcCmd_A8.ABArFrcCmd_A8 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_2_WAITING_OPEN AliasConditionState = SNOW DOOR_2_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_2_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_2_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_2_WAITING_OPEN AliasConditionState = NIGHT SNOW DAMAGED DOOR_2_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_2_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_OPEN AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_2_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABArFrcCmd_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABArFrcCmd_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- door #3 ------------------- Draw = W3DModelDraw ModuleTag_05 DefaultConditionState Model = ABArFrcCmd_A2 Animation = ABArFrcCmd_A2.ABArFrcCmd_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_3_OPENING Model = ABArFrcCmd_A2 Animation = ABArFrcCmd_A2.ABArFrcCmd_A2 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_3_OPENING AliasConditionState = SNOW DOOR_3_OPENING AliasConditionState = NIGHT SNOW DOOR_3_OPENING AliasConditionState = NIGHT DAMAGED DOOR_3_OPENING AliasConditionState = SNOW DAMAGED DOOR_3_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_OPENING ConditionState = DOOR_3_CLOSING Model = ABArFrcCmd_A2 Animation = ABArFrcCmd_A2.ABArFrcCmd_A2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_3_CLOSING AliasConditionState = SNOW DOOR_3_CLOSING AliasConditionState = NIGHT SNOW DOOR_3_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_3_CLOSING AliasConditionState = SNOW DAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_CLOSING ConditionState = DOOR_3_WAITING_OPEN Model = ABArFrcCmd_A2 Animation = ABArFrcCmd_A2.ABArFrcCmd_A2 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_3_WAITING_OPEN AliasConditionState = SNOW DOOR_3_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_3_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_3_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_3_WAITING_OPEN AliasConditionState = NIGHT SNOW DAMAGED DOOR_3_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_3_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A2 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABArFrcCmd_A2 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABArFrcCmd_A2 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- door #4 ------------------- Draw = W3DModelDraw ModuleTag_06 DefaultConditionState Model = ABArFrcCmd_A3 Animation = ABArFrcCmd_A3.ABArFrcCmd_A3 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_4_OPENING Model = ABArFrcCmd_A3 Animation = ABArFrcCmd_A3.ABArFrcCmd_A3 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_4_OPENING AliasConditionState = SNOW DOOR_4_OPENING AliasConditionState = NIGHT SNOW DOOR_4_OPENING AliasConditionState = NIGHT DAMAGED DOOR_4_OPENING AliasConditionState = SNOW DAMAGED DOOR_4_OPENING AliasConditionState = NIGHT SNOW DAMAGED DOOR_4_OPENING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_OPENING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_OPENING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_4_OPENING ConditionState = DOOR_4_CLOSING Model = ABArFrcCmd_A3 Animation = ABArFrcCmd_A3.ABArFrcCmd_A3 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_4_CLOSING AliasConditionState = SNOW DOOR_4_CLOSING AliasConditionState = NIGHT SNOW DOOR_4_CLOSING AliasConditionState = NIGHT DAMAGED DOOR_4_CLOSING AliasConditionState = SNOW DAMAGED DOOR_4_CLOSING AliasConditionState = NIGHT SNOW DAMAGED DOOR_4_CLOSING AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_CLOSING AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_CLOSING AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_4_CLOSING ConditionState = DOOR_4_WAITING_OPEN Model = ABArFrcCmd_A3 Animation = ABArFrcCmd_A3.ABArFrcCmd_A3 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_4_WAITING_OPEN AliasConditionState = SNOW DOOR_4_WAITING_OPEN AliasConditionState = NIGHT SNOW DOOR_4_WAITING_OPEN AliasConditionState = NIGHT DAMAGED DOOR_4_WAITING_OPEN AliasConditionState = SNOW DAMAGED DOOR_4_WAITING_OPEN AliasConditionState = NIGHT SNOW DAMAGED DOOR_4_WAITING_OPEN AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOOR_4_WAITING_OPEN ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A3 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABArFrcCmd_A3 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABArFrcCmd_A3 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A4 Animation = ABArFrcCmd_A4.ABArFrcCmd_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A4N Animation = ABArFrcCmd_A4N.ABArFrcCmd_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A4S Animation = ABArFrcCmd_A4S.ABArFrcCmd_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A4SN ; @todo srj -- missing Animation = ABArFrcCmd_A4SN.ABArFrcCmd_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABArFrcCmd_A4 Animation = ABArFrcCmd_A4.ABArFrcCmd_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABArFrcCmd_A4N Animation = ABArFrcCmd_A4N.ABArFrcCmd_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABArFrcCmd_A4S Animation = ABArFrcCmd_A4S.ABArFrcCmd_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABArFrcCmd_A4SN ; @todo srj -- missing Animation = ABArFrcCmd_A4SN.ABArFrcCmd_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABArFrcCmd_A4 Animation = ABArFrcCmd_A4.ABArFrcCmd_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABArFrcCmd_A4N Animation = ABArFrcCmd_A4N.ABArFrcCmd_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABArFrcCmd_A4S Animation = ABArFrcCmd_A4S.ABArFrcCmd_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABArFrcCmd_A4SN ; @todo srj -- missing Animation = ABArFrcCmd_A4SN.ABArFrcCmd_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_08 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABArFrcCmd_A6 Animation = ABArFrcCmd_A6.ABArFrcCmd_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABArFrcCmd_A6N Animation = ABArFrcCmd_A6N.ABArFrcCmd_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABArFrcCmd_A6S Animation = ABArFrcCmd_A6S.ABArFrcCmd_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABArFrcCmd_A6SN ; @todo srj -- missing Animation = ABArFrcCmd_A6SN.ABArFrcCmd_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABArFrcCmd_A6 Animation = ABArFrcCmd_A6.ABArFrcCmd_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABArFrcCmd_A6N Animation = ABArFrcCmd_A6N.ABArFrcCmd_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABArFrcCmd_A6S Animation = ABArFrcCmd_A6S.ABArFrcCmd_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABArFrcCmd_A6SN ; @todo srj -- missing Animation = ABArFrcCmd_A6SN.ABArFrcCmd_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABArFrcCmd_A6 Animation = ABArFrcCmd_A6.ABArFrcCmd_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABArFrcCmd_A6N Animation = ABArFrcCmd_A6N.ABArFrcCmd_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABArFrcCmd_A6S Animation = ABArFrcCmd_A6S.ABArFrcCmd_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABArFrcCmd_A6SN ; @todo srj -- missing Animation = ABArFrcCmd_A6SN.ABArFrcCmd_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_09 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A5 Animation = ABArFrcCmd_A5.ABArFrcCmd_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A5N Animation = ABArFrcCmd_A5N.ABArFrcCmd_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A5S Animation = ABArFrcCmd_A5S.ABArFrcCmd_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABArFrcCmd_A5SN Animation = ABArFrcCmd_A5SN.ABArFrcCmd_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABArFrcCmd_AB Animation = ABArFrcCmd_AB.ABArFrcCmd_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABArFrcCmd_ABN Animation = ABArFrcCmd_ABN.ABArFrcCmd_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABArFrcCmd_ABS ; @todo srj -- not found Animation = ABArFrcCmd_ABS.ABArFrcCmd_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABArFrcCmd_ABSN Animation = ABArFrcCmd_ABSN.ABArFrcCmd_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABArFrcCmd_AB Animation = ABArFrcCmd_AB.ABArFrcCmd_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABArFrcCmd_ABN Animation = ABArFrcCmd_ABN.ABArFrcCmd_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABArFrcCmd_ABS ; @todo srj -- not found Animation = ABArFrcCmd_ABS.ABArFrcCmd_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABArFrcCmd_ABS Animation = ABArFrcCmd_ABS.ABArFrcCmd_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:Airfield Side = AmericaSuperWeaponGeneral EditorSorting = STRUCTURE Prerequisites Object = SupW_AmericaSupplyCenter End BuildCost = 1000 BuildTime = 30.0 ; in seconds EnergyProduction = -1 CommandSet = SupW_AmericaAirfieldCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 150 150 150 150 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = AirfieldUSASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_AIRFIELD SCORE CAPTURABLE FS_FACTORY MP_COUNT_FOR_VICTORY AUTO_RALLYPOINT Body = StructureBody ModuleTag_10 MaxHealth = 1500.0 InitialHealth = 1500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1700 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ParkingPlaceBehavior ModuleTag_11 HealAmountPerSecond = 10 NumRows = 2 NumCols = 2 HasRunways = Yes ApproachHeight = 50 End Behavior = ProductionUpdate ModuleTag_12 NumDoorAnimations = 4 DoorOpeningTime = 2000 ;in mSeconds DoorWaitOpenTime = 3000 ;in mSeconds DoorCloseTime = 2000 ;in mSeconds ConstructionCompleteDuration = 1000 ;in mSeconds End Behavior = BaseRegenerateUpdate ModuleTag_13 ;No data End Behavior = DestroyDie ModuleTag_14 ;nothing End Behavior = CreateObjectDie ModuleTag_15 CreationList = OCL_ABPowerPlantExplode End Behavior = CreateObjectDie ModuleTag_16 CreationList = SupW_OCL_AmericanRangerDebris02 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_17 DeathFX = FX_StructureMediumDeath End Behavior = FlammableUpdate ModuleTag_19 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_31 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 112.0 GeometryMinorRadius = 74.0 GeometryHeight = 25.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object SupW_AmericaSupplyCenter ; *** ART Parameters *** SelectPortrait = SASupplyCntr_L ButtonImage = SASupplyCntr UpgradeCameo1 = Upgrade_AmericaSupplyLines Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ************************************** ConditionState = NONE Model = ABSupplyCT Animation = ABSupplyCT.ABSupplyCT AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED Model = ABSupplyCT_D Animation = ABSupplyCT_D.ABSupplyCT_D AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = ABSupplyCT_E Animation = ABSupplyCT_E.ABSupplyCT_E AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ; day Snow ************************************** ConditionState = SNOW Model = ABSupplyCT_S Animation = ABSupplyCT_S.ABSupplyCT_S AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED SNOW Model = ABSupplyCT_DS Animation = ABSupplyCT_DS.ABSupplyCT_DS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABSupplyCT_ES Animation = ABSupplyCT_ES.ABSupplyCT_ES AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ; Night ************************************* ConditionState = NIGHT Model = ABSupplyCT_N Animation = ABSupplyCT_N.ABSupplyCT_N AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED NIGHT Model = ABSupplyCT_DN Animation = ABSupplyCT_DN.ABSupplyCT_DN AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABSupplyCT_EN Animation = ABSupplyCT_EN.ABSupplyCT_EN AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ; Night Snow************************************* ConditionState = NIGHT SNOW Model = ABSupplyCT_NS Animation = ABSupplyCT_NS.ABSupplyCT_NS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED NIGHT SNOW Model = ABSupplyCT_DNS Animation = ABSupplyCT_DNS.ABSupplyCT_DNS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABSupplyCT_ENS Animation = ABSupplyCT_ENS.ABSupplyCT_ENS AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT Animation = ABSupplyCT.ABSupplyCT AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABSupplyCT_D Animation = ABSupplyCT_D.ABSupplyCT_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABSupplyCT_E Animation = ABSupplyCT_E.ABSupplyCT_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABSupplyCT_N Animation = ABSupplyCT_N.ABSupplyCT_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABSupplyCT_DN Animation = ABSupplyCT_DN.ABSupplyCT_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABSupplyCT_EN Animation = ABSupplyCT_EN.ABSupplyCT_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABSupplyCT_S Animation = ABSupplyCT_S.ABSupplyCT_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABSupplyCT_DS Animation = ABSupplyCT_DS.ABSupplyCT_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABSupplyCT_ES Animation = ABSupplyCT_ES.ABSupplyCT_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABSupplyCT_NS Animation = ABSupplyCT_NS.ABSupplyCT_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABSupplyCT_DNS Animation = ABSupplyCT_DNS.ABSupplyCT_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABSupplyCT_ENS Animation = ABSupplyCT_ENS.ABSupplyCT_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A4 Animation = ABSupplyCT_A4.ABSupplyCT_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A4N Animation = ABSupplyCT_A4N.ABSupplyCT_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A4S Animation = ABSupplyCT_A4S.ABSupplyCT_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A4SN Animation = ABSupplyCT_A4SN.ABSupplyCT_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupplyCT_A4 Animation = ABSupplyCT_A4.ABSupplyCT_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupplyCT_A4N Animation = ABSupplyCT_A4N.ABSupplyCT_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupplyCT_A4S Animation = ABSupplyCT_A4S.ABSupplyCT_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupplyCT_A4SN Animation = ABSupplyCT_A4SN.ABSupplyCT_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupplyCT_A4 Animation = ABSupplyCT_A4.ABSupplyCT_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupplyCT_A4N Animation = ABSupplyCT_A4N.ABSupplyCT_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupplyCT_A4S Animation = ABSupplyCT_A4S.ABSupplyCT_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupplyCT_A4SN Animation = ABSupplyCT_A4SN.ABSupplyCT_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABSupplyCT_A6 Animation = ABSupplyCT_A6.ABSupplyCT_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABSupplyCT_A6N Animation = ABSupplyCT_A6N.ABSupplyCT_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABSupplyCT_A6S Animation = ABSupplyCT_A6S.ABSupplyCT_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABSupplyCT_A6SN Animation = ABSupplyCT_A6SN.ABSupplyCT_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupplyCT_A6 Animation = ABSupplyCT_A6.ABSupplyCT_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupplyCT_A6N Animation = ABSupplyCT_A6N.ABSupplyCT_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupplyCT_A6S Animation = ABSupplyCT_A6S.ABSupplyCT_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupplyCT_A6SN Animation = ABSupplyCT_A6SN.ABSupplyCT_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupplyCT_A6 Animation = ABSupplyCT_A6.ABSupplyCT_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupplyCT_A6N Animation = ABSupplyCT_A6N.ABSupplyCT_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupplyCT_A6S Animation = ABSupplyCT_A6S.ABSupplyCT_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupplyCT_A6SN Animation = ABSupplyCT_A6SN.ABSupplyCT_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A5 Animation = ABSupplyCT_A5.ABSupplyCT_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A5N Animation = ABSupplyCT_A5N.ABSupplyCT_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A5S Animation = ABSupplyCT_A5S.ABSupplyCT_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A5SN Animation = ABSupplyCT_A5SN.ABSupplyCT_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupplyCT_AB Animation = ABSupplyCT_AB.ABSupplyCT_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupplyCT_ABN Animation = ABSupplyCT_ABN.ABSupplyCT_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupplyCT_ABS Animation = ABSupplyCT_ABS.ABSupplyCT_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupplyCT_ABSN Animation = ABSupplyCT_ABSN.ABSupplyCT_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupplyCT_AB Animation = ABSupplyCT_AB.ABSupplyCT_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupplyCT_ABN Animation = ABSupplyCT_ABN.ABSupplyCT_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupplyCT_ABS Animation = ABSupplyCT_ABS.ABSupplyCT_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupplyCT_ABSN Animation = ABSupplyCT_ABSN.ABSupplyCT_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ Grabbing box crane arm ----------------- Draw = W3DModelDraw ModuleTag_19 OkToChangeModelColor = Yes ConditionState = NONE ; sit there Model = ABSupplyCT_A8 Animation = ABSupplyCT_A8.ABSupplyCT_A8 AnimationMode = LOOP Flags = START_FRAME_FIRST ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT WaitForStateToFinishIfPossible = TRANS_Playing End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = DAMAGED AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = REALLYDAMAGED RUBBLE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOCKING_ACTIVE ; play arm box anim once Model = ABSupplyCT_A7 Animation = ABSupplyCT_A7.ABSupplyCT_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST TransitionKey = TRANS_Playing End AliasConditionState = NIGHT DOCKING_ACTIVE AliasConditionState = SNOW DOCKING_ACTIVE AliasConditionState = NIGHT SNOW DOCKING_ACTIVE AliasConditionState = DAMAGED DOCKING_ACTIVE AliasConditionState = NIGHT DAMAGED DOCKING_ACTIVE AliasConditionState = SNOW DAMAGED DOCKING_ACTIVE AliasConditionState = NIGHT SNOW DAMAGED DOCKING_ACTIVE AliasConditionState = REALLYDAMAGED RUBBLE DOCKING_ACTIVE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE DOCKING_ACTIVE AliasConditionState = SNOW REALLYDAMAGED RUBBLE DOCKING_ACTIVE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE DOCKING_ACTIVE End ; ------------ Spinny Belt ----------------- Draw = W3DModelDraw ModuleTag_SpinnyBelt OkToChangeModelColor = Yes ConditionState = NONE ; sit there Model = ABSupplyCT_A9 Animation = ABSupplyCT_A9.ABSupplyCT_A9 AnimationMode = LOOP End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = DAMAGED AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = REALLYDAMAGED RUBBLE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupplyCT_A9 Animation = ABSupplyCT_A9.ABSupplyCT_A9 AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT MAINTAIN_FRAME_ACROSS_STATES End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:SupplyCenter Side = AmericaSuperWeaponGeneral EditorSorting = STRUCTURE Prerequisites Object = SupW_AmericaPowerPlant End BuildCost = 2000 RefundValue = 400 ; With nothing (or zero) listed, we sell for half price. BuildTime = 10.0 ; in seconds EnergyProduction = -1 CommandSet = SupW_AmericaSupplyCenterCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = SupplyCenterUSASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CASH_GENERATOR SCORE CAPTURABLE AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY CANNOT_BUILD_NEAR_SUPPLIES FS_SUPPLY_CENTER Body = StructureBody ModuleTag_05 MaxHealth = 2000.0 InitialHealth = 2000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = SupplyCenterCreate ModuleTag_06 ;nothing End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = SupW_OCL_AmericanRangerDebris03 ExemptStatus = UNDER_CONSTRUCTION End Behavior = ProductionUpdate ModuleTag_09 ; nothing End Behavior = SupplyCenterProductionExitUpdate ModuleTag_10 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 44.0 Y: 0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = BaseRegenerateUpdate ModuleTag_11 ;No data End Behavior = SpawnBehavior ModuleTag_12 SpawnNumber = 1 SpawnReplaceDelay = 9999 SpawnTemplateName = SupW_AmericaVehicleChinook OneShot = Yes CanReclaimOrphans = No SlavesHaveFreeWill = Yes End Behavior = SupplyCenterDockUpdate ModuleTag_13 NumberApproachPositions = 9 ; There are 9 approach bones in the art End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = CreateObjectDie ModuleTag_16 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_17 DeathFX = FX_StructureSmallDeath End Behavior = TransitionDamageFX ModuleTag_18 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = BOX GeometryMajorRadius = 44.0 GeometryMinorRadius = 45.0 GeometryHeight = 24.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object SupW_AmericaSupplyDropZone ; *** ART Parameters *** SelectPortrait = SADropZone_L ButtonImage = SADropZone UpgradeCameo1 = Upgrade_AmericaSupplyLines Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = ABSupDrop ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop.ABSupDrop AnimationMode = LOOP End ConditionState = DAMAGED Model = ABSupDrop_D ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_D.ABSupDrop_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = ABSupDrop_E ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_E.ABSupDrop_E AnimationMode = LOOP End ConditionState = NIGHT Model = ABSupDrop_N ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_N.ABSupDrop_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = ABSupDrop_DN ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_DN.ABSupDrop_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABSupDrop_EN ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_EN.ABSupDrop_EN AnimationMode = LOOP End ;----------- SNOW ConditionState = SNOW Model = ABSupDrop_S ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_S.ABSupDrop_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABSupDrop_DS ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_DS.ABSupDrop_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABSupDrop_ES ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_ES.ABSupDrop_ES AnimationMode = LOOP End ;---------- SNOW NIGHT ConditionState = NIGHT SNOW Model = ABSupDrop_NS ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_NS.ABSupDrop_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = ABSupDrop_DNS ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_DNS.ABSupDrop_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABSupDrop_ENS ParticleSysBone = Flare01 LandingZoneSmoke Animation = ABSupDrop_ENS.ABSupDrop_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop Animation = ABSupDrop.ABSupDrop AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABSupDrop_D Animation = ABSupDrop_D.ABSupDrop_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABSupDrop_E Animation = ABSupDrop_E.ABSupDrop_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABSupDrop_N Animation = ABSupDrop_N.ABSupDrop_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABSupDrop_DN Animation = ABSupDrop_DN.ABSupDrop_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABSupDrop_EN Animation = ABSupDrop_EN.ABSupDrop_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABSupDrop_S Animation = ABSupDrop_S.ABSupDrop_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABSupDrop_DS Animation = ABSupDrop_DS.ABSupDrop_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABSupDrop_ES Animation = ABSupDrop_ES.ABSupDrop_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABSupDrop_NS Animation = ABSupDrop_NS.ABSupDrop_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABSupDrop_DNS Animation = ABSupDrop_DNS.ABSupDrop_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABSupDrop_ENS Animation = ABSupDrop_ENS.ABSupDrop_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:AmericaSupplyDropZone Side = AmericaSuperWeaponGeneral EditorSorting = STRUCTURE BuildCost = 2500 BuildTime = 45.0 ; in seconds Prerequisites Object = SupW_AmericaStrategyCenter End EnergyProduction = -4 ShroudClearingRange = 100 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = SupplyDropZoneSelect UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** ; Please note that this structure is not a kindof IMMUNE_TO_CAPTURE, ther is code that allows ; CAPTURABLE+STRUCTUES, and FS_TECHNOLOGY kindofs to be disabled, unless explicitly IMMUNE_TO_CAPTURE... ; If this boggles too much, then it is time for a KINDOF_DISABLEABLE!--ML KindOf = STRUCTURE SELECTABLE IMMOBILE SCORE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY FS_SUPPLY_DROPZONE RadarPriority = STRUCTURE Body = ActiveBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = OCLUpdate ModuleTag_05 ; Context window is a reaction to this, no CommandSet OCL = OCL_AmericaSupplyDropZoneCrateDrop MinDelay = 120000 MaxDelay = 120000 CreateAtEdge = Yes ; as opposed to just creating on self End Behavior = DestroyDie ModuleTag_06 End Behavior = CreateObjectDie ModuleTag_07 CreationList = SupW_OCL_AmericanRangerDebris03 ExemptStatus = UNDER_CONSTRUCTION End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FlammableUpdate ModuleTag_09 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = BaseRegenerateUpdate ModuleTag_11 ;No data End Behavior = TransitionDamageFX ModuleTag_31 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = BOX GeometryMajorRadius = 27.0 GeometryMinorRadius = 27.0 GeometryHeight = 9.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME End ;------------------------------------------------------------------------------ Object SupW_AmericaBarracks ; *** ART Parameters *** SelectPortrait = SABarracks_L ButtonImage = SABarracks PlacementViewAngle = -45 ;Main barracks model Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;DAY ******************************* ConditionState = NONE Model = ABBARRACKS Animation = ABBarracks.ABBarracks AnimationMode = LOOP End ConditionState = DAMAGED Model = ABBarracks_D Animation = ABBarracks_D.ABBarracks_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = ABBarracks_E Animation = ABBarracks_E.ABBarracks_E AnimationMode = LOOP End ;NIGHT ***************************** ConditionState = NIGHT Model = ABBARRACKS_N Animation = ABBarracks_N.ABBarracks_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = ABBarracks_DN Animation = ABBarracks_DN.ABBarracks_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABBarracks_EN Animation = ABBarracks_EN.ABBarracks_EN AnimationMode = LOOP End ;SNOW ****************************** ConditionState = SNOW Model = ABBARRACKS_S Animation = ABBarracks_S.ABBarracks_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABBarracks_DS Animation = ABBarracks_DS.ABBarracks_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABBarracks_ES Animation = ABBarracks_ES.ABBarracks_ES AnimationMode = LOOP End ;SNOW AND NIGHT ******************** ConditionState = SNOW NIGHT Model = ABBARRACKS_NS Animation = ABBarracks_NS.ABBarracks_NS AnimationMode = LOOP End ConditionState = DAMAGED SNOW NIGHT Model = ABBarracks_DNS Animation = ABBarracks_DNS.ABBarracks_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = ABBarracks_ENS Animation = ABBarracks_ENS.ABBarracks_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks Animation = ABBarracks.ABBarracks AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABBarracks_D Animation = ABBarracks_D.ABBarracks_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABBarracks_E Animation = ABBarracks_E.ABBarracks_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABBarracks_N Animation = ABBarracks_N.ABBarracks_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABBarracks_DN Animation = ABBarracks_DN.ABBarracks_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABBarracks_EN Animation = ABBarracks_EN.ABBarracks_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABBarracks_S Animation = ABBarracks_S.ABBarracks_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABBarracks_DS Animation = ABBarracks_DS.ABBarracks_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABBarracks_ES Animation = ABBarracks_ES.ABBarracks_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABBarracks_NS Animation = ABBarracks_NS.ABBarracks_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABBarracks_DNS Animation = ABBarracks_DNS.ABBarracks_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABBarracks_ENS Animation = ABBarracks_ENS.ABBarracks_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; Draw = W3DModelDraw ModuleTag_TestFlag ; DefaultConditionState ; Model = ABBarracks_FA ; Animation = ABBarracks_FA.ABBarracks_FA ; AnimationMode = LOOP ; End ; ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ; Model = None ; End ; End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A4 Animation = ABBarracks_A4.ABBarracks_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A4N Animation = ABBarracks_A4N.ABBarracks_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A4S Animation = ABBarracks_A4S.ABBarracks_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A4SN Animation = ABBarracks_A4SN.ABBarracks_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBarracks_A4 Animation = ABBarracks_A4.ABBarracks_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBarracks_A4N Animation = ABBarracks_A4N.ABBarracks_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBarracks_A4S Animation = ABBarracks_A4S.ABBarracks_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBarracks_A4SN Animation = ABBarracks_A4SN.ABBarracks_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBarracks_A4 Animation = ABBarracks_A4.ABBarracks_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBarracks_A4N Animation = ABBarracks_A4N.ABBarracks_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBarracks_A4S Animation = ABBarracks_A4S.ABBarracks_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABBarracks_A4SN Animation = ABBarracks_A4SN.ABBarracks_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABBarracks_A6 Animation = ABBarracks_A6.ABBarracks_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABBarracks_A6N Animation = ABBarracks_A6N.ABBarracks_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABBarracks_A6S Animation = ABBarracks_A6S.ABBarracks_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABBarracks_A6SN Animation = ABBarracks_A6SN.ABBarracks_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBarracks_A6 Animation = ABBarracks_A6.ABBarracks_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBarracks_A6N Animation = ABBarracks_A6N.ABBarracks_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBarracks_A6S Animation = ABBarracks_A6S.ABBarracks_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBarracks_A6SN Animation = ABBarracks_A6SN.ABBarracks_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBarracks_A6 Animation = ABBarracks_A6.ABBarracks_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBarracks_A6N Animation = ABBarracks_A6N.ABBarracks_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBarracks_A6S Animation = ABBarracks_A6S.ABBarracks_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABBarracks_A6SN Animation = ABBarracks_A6SN.ABBarracks_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A5 Animation = ABBarracks_A5.ABBarracks_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A5N Animation = ABBarracks_A5N.ABBarracks_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A5S Animation = ABBarracks_A5S.ABBarracks_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABBarracks_A5SN Animation = ABBarracks_A5SN.ABBarracks_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABBarracks_AB Animation = ABBarracks_AB.ABBarracks_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABBarracks_ABN Animation = ABBarracks_ABN.ABBarracks_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABBarracks_ABS Animation = ABBarracks_ABS.ABBarracks_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABBarracks_ABSN Animation = ABBarracks_ABSN.ABBarracks_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABBarracks_AB Animation = ABBarracks_AB.ABBarracks_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABBarracks_ABN Animation = ABBarracks_ABN.ABBarracks_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABBarracks_ABS Animation = ABBarracks_ABS.ABBarracks_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABBarracks_ABSN Animation = ABBarracks_ABSN.ABBarracks_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:Barracks Side = AmericaSuperWeaponGeneral EditorSorting = STRUCTURE BuildCost = 600 BuildTime = 10.0 ; in seconds EnergyProduction = 0 CommandSet = SupW_AmericaBarracksCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 100 100 100 100 ; Experience point value at each level Prerequisites ; Object = SupW_AmericaPowerPlant End ; *** AUDIO Parameters *** VoiceSelect = BarracksUSASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE HEAL_PAD SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_BARRACKS Body = StructureBody ModuleTag_05 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = HealContain ModuleTag_06 ContainMax = 10 ;way bigger than the # of objects we can have TimeForFullHeal = 2000 ;(in milliseconds) AllowInsideKindOf = INFANTRY AllowAlliesInside = Yes AllowNeutralInside = No AllowEnemiesInside = No End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = CreateObjectDie ModuleTag_09 CreationList = SupW_OCL_AmericanRangerDebris02 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = ProductionUpdate ModuleTag_11 ; nothing End Behavior = DefaultProductionExitUpdate ModuleTag_12 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 55.0 Y: 0.0 Z:0.0 End Behavior = BaseRegenerateUpdate ModuleTag_13 ;No data End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_16 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 55.0 GeometryMinorRadius = 45.0 GeometryHeight = 20.0 GeometryIsSmall = No FactoryExitWidth = 25 ; How much space to leave for units exiting. Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object SupW_AmericaWarFactory ; *** ART Parameters *** SelectPortrait = SACWeaponsfact_L ButtonImage = SACWeaponsfact ; ------------ the main factory itself ----------------- Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ************************************************** DefaultConditionState Model = ABWarFact Animation = ABWarFact.ABWarFact AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED Model = ABWarFact_D Animation = ABWarFact_D.ABWarFact_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = ABWarFact_E Animation = ABWarFact_E.ABWarFact_E AnimationMode = LOOP End ; night ************************************************* ConditionState = NIGHT Model = ABWarFact_N Animation = ABWarFact_N.ABWarFact_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = ABWarFact_DN Animation = ABWarFact_DN.ABWarFact_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABWarFact_EN Animation = ABWarFact_EN.ABWarFact_EN AnimationMode = LOOP End ; snow ************************************************* ConditionState = SNOW Model = ABWarFact_S Animation = ABWarFact_S.ABWarFact_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = ABWarFact_DS Animation = ABWarFact_DS.ABWarFact_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABWarFact_ES Animation = ABWarFact_ES.ABWarFact_ES AnimationMode = LOOP End ; night snow ************************************************* ConditionState = NIGHT SNOW Model = ABWarFact_NS Animation = ABWarFact_NS.ABWarFact_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = ABWarFact_DNS Animation = ABWarFact_DNS.ABWarFact_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = ABWarFact_ENS Animation = ABWarFact_ENS.ABWarFact_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact Animation = ABWarFact.ABWarFact AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABWarFact_D Animation = ABWarFact_D.ABWarFact_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABWarFact_E Animation = ABWarFact_E.ABWarFact_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABWarFact_N Animation = ABWarFact_N.ABWarFact_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABWarFact_DN Animation = ABWarFact_DN.ABWarFact_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABWarFact_EN Animation = ABWarFact_EN.ABWarFact_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABWarFact_S Animation = ABWarFact_S.ABWarFact_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABWarFact_DS Animation = ABWarFact_DS.ABWarFact_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABWarFact_ES Animation = ABWarFact_ES.ABWarFact_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABWarFact_NS Animation = ABWarFact_NS.ABWarFact_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABWarFact_DNS Animation = ABWarFact_DNS.ABWarFact_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABWarFact_ENS Animation = ABWarFact_ENS.ABWarFact_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ----------------- the factory door ------------------- Draw = W3DModelDraw ModuleTag_02 DefaultConditionState Model = ABWarFact_A8 Animation = ABWarFact_A8.ABWarFact_A8 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A8 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ConditionState = DAMAGED Model = ABWarFact_A8D Animation = ABWarFact_A8D.ABWarFact_A8D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABWarFact_A8E Animation = ABWarFact_A8E.ABWarFact_A8E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = ABWarFact_A8 Animation = ABWarFact_A8.ABWarFact_A8 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = SNOW NIGHT DOOR_1_OPENING ConditionState = DOOR_1_OPENING DAMAGED Model = ABWarFact_A8D Animation = ABWarFact_A8D.ABWarFact_A8D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_OPENING DAMAGED ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = ABWarFact_A8E Animation = ABWarFact_A8E.ABWarFact_A8E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_CLOSING Model = ABWarFact_A8 Animation = ABWarFact_A8.ABWarFact_A8 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = SNOW NIGHT DOOR_1_CLOSING ConditionState = DOOR_1_CLOSING DAMAGED Model = ABWarFact_A8D Animation = ABWarFact_A8D.ABWarFact_A8D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_CLOSING DAMAGED ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = ABWarFact_A8E Animation = ABWarFact_A8E.ABWarFact_A8E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_OPEN Model = ABWarFact_A8 Animation = ABWarFact_A8.ABWarFact_A8 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = ABWarFact_A8D Animation = ABWarFact_A8D.ABWarFact_A8D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN DAMAGED ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = ABWarFact_A8E Animation = ABWarFact_A8E.ABWarFact_A8E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED End ; ------------------ the construction crane ------------ Draw = W3DModelDraw ModuleTag_03 ; ----------------------------------------------------------- OkToChangeModelColor = Yes ; ----------------------------------------------------------- DefaultConditionState Model = ABWarFact_A1 Animation = ABWarFact_A1.ABWarFact_A1 AnimationMode = LOOP TransitionKey = TRANS_Idle End ConditionState = DAMAGED Model = ABWarFact_A1D Animation = ABWarFact_A1D.ABWarFact_A1D AnimationMode = LOOP TransitionKey = TRANS_IdleDamaged End ConditionState = REALLYDAMAGED RUBBLE Model = ABWarFact_A1E Animation = ABWarFact_A1E.ABWarFact_A1E AnimationMode = LOOP TransitionKey = TRANS_IdleReallyDamaged End ; ----------------------------------------------------------- TransitionState = TRANS_Constructing TRANS_Idle Model = ABWarFact_A3 Animation = ABWarFact_A3.ABWarFact_A3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End TransitionState = TRANS_ConstructingDamaged TRANS_IdleDamaged Model = ABWarFact_A3D Animation = ABWarFact_A3D.ABWarFact_A3D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End TransitionState = TRANS_ConstructingReallyDamaged TRANS_IdleReallyDamaged Model = ABWarFact_A3E Animation = ABWarFact_A3E.ABWarFact_A3E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ; ----------------------------------------------------------- ConditionState = ACTIVELY_CONSTRUCTING Model = ABWarFact_A3 Animation = ABWarFact_A3.ABWarFact_A3 AnimationMode = ONCE TransitionKey = TRANS_Constructing Flags = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE End ConditionState = ACTIVELY_CONSTRUCTING DAMAGED Model = ABWarFact_A3D Animation = ABWarFact_A3D.ABWarFact_A3D AnimationMode = ONCE TransitionKey = TRANS_ConstructingDamaged Flags = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE End ConditionState = ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE Model = ABWarFact_A3E Animation = ABWarFact_A3E.ABWarFact_A3E AnimationMode = ONCE TransitionKey = TRANS_ConstructingReallyDamaged Flags = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE End ; ----------------------------------------------------------- ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SOLD Model = ABWarFact_A1 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = SOLD Model = NONE End End ; ------------------ the construction conveyor belt ------------ Draw = W3DModelDraw ModuleTag_04 OkToChangeModelColor = Yes DefaultConditionState Model = ABWarFact_A7 Animation = ABWarFact_A7.ABWarFact_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = SNOW AliasConditionState = NIGHT AliasConditionState = SNOW NIGHT ConditionState = SOLD Model = NONE End AliasConditionState = SNOW SOLD AliasConditionState = NIGHT SOLD AliasConditionState = SNOW NIGHT SOLD ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED AliasConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ConditionState = DAMAGED Model = ABWarFact_A7D Animation = ABWarFact_A7D.ABWarFact_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW NIGHT DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = ABWarFact_A7E Animation = ABWarFact_A7E.ABWarFact_A7E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ConditionState = ACTIVELY_CONSTRUCTING Model = ABWarFact_A7 Animation = ABWarFact_A7.ABWarFact_A7 AnimationMode = LOOP End AliasConditionState = SNOW ACTIVELY_CONSTRUCTING AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING ConditionState = ACTIVELY_CONSTRUCTING DAMAGED Model = ABWarFact_A7D Animation = ABWarFact_A7D.ABWarFact_A7D AnimationMode = LOOP End AliasConditionState = SNOW ACTIVELY_CONSTRUCTING DAMAGED AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING DAMAGED AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING DAMAGED ConditionState = ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE Model = ABWarFact_A7E Animation = ABWarFact_A7E.ABWarFact_A7E AnimationMode = LOOP End AliasConditionState = SNOW ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT ACTIVELY_CONSTRUCTING REALLYDAMAGED RUBBLE End ; ------------ construction done flashing lights ---------- Draw = W3DModelDraw ModuleTag_05 DefaultConditionState Model = None End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End ConditionState = CONSTRUCTION_COMPLETE Model = ABWarFact_A2 Animation = ABWarFact_A2.ABWarFact_A2 AnimationMode = LOOP Flags = START_FRAME_FIRST End End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_06 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A4 Animation = ABWarFact_A4.ABWarFact_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A4N Animation = ABWarFact_A4N.ABWarFact_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A4S Animation = ABWarFact_A4S.ABWarFact_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A4SN Animation = ABWarFact_A4SN.ABWarFact_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABWarFact_A4 Animation = ABWarFact_A4.ABWarFact_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABWarFact_A4N Animation = ABWarFact_A4N.ABWarFact_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABWarFact_A4S Animation = ABWarFact_A4S.ABWarFact_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABWarFact_A4SN Animation = ABWarFact_A4SN.ABWarFact_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABWarFact_A4 Animation = ABWarFact_A4.ABWarFact_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABWarFact_A4N Animation = ABWarFact_A4N.ABWarFact_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABWarFact_A4S Animation = ABWarFact_A4S.ABWarFact_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABWarFact_A4SN Animation = ABWarFact_A4SN.ABWarFact_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABWarFact_A6 Animation = ABWarFact_A6.ABWarFact_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABWarFact_A6N Animation = ABWarFact_A6N.ABWarFact_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABWarFact_A6S Animation = ABWarFact_A6S.ABWarFact_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABWarFact_A6SN Animation = ABWarFact_A6SN.ABWarFact_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABWarFact_A6 Animation = ABWarFact_A6.ABWarFact_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABWarFact_A6N Animation = ABWarFact_A6N.ABWarFact_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABWarFact_A6S Animation = ABWarFact_A6S.ABWarFact_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABWarFact_A6SN Animation = ABWarFact_A6SN.ABWarFact_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABWarFact_A6 Animation = ABWarFact_A6.ABWarFact_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABWarFact_A6N Animation = ABWarFact_A6N.ABWarFact_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABWarFact_A6S Animation = ABWarFact_A6S.ABWarFact_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABWarFact_A6SN Animation = ABWarFact_A6SN.ABWarFact_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_08 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A5 Animation = ABWarFact_A5.ABWarFact_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A5N Animation = ABWarFact_A5N.ABWarFact_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A5S Animation = ABWarFact_A5S.ABWarFact_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABWarFact_A5SN Animation = ABWarFact_A5SN.ABWarFact_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABWarFact_AB Animation = ABWarFact_AB.ABWarFact_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABWarFact_ABN Animation = ABWarFact_ABN.ABWarFact_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABWarFact_ABS Animation = ABWarFact_ABS.ABWarFact_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABWarFact_ABSN Animation = ABWarFact_ABSN.ABWarFact_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABWarFact_AB Animation = ABWarFact_AB.ABWarFact_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABWarFact_ABN Animation = ABWarFact_ABN.ABWarFact_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABWarFact_ABS Animation = ABWarFact_ABS.ABWarFact_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABWarFact_ABSN Animation = ABWarFact_ABSN.ABWarFact_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:WarFactory Side = AmericaSuperWeaponGeneral EditorSorting = STRUCTURE Prerequisites Object = SupW_AmericaSupplyCenter End BuildCost = 2000 BuildTime = 15.0 ; in seconds EnergyProduction = -1 CommandSet = SupW_AmericaWarFactoryCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = WarFactoryUSASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE REPAIR_PAD SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_WARFACTORY Body = StructureBody ModuleTag_09 MaxHealth = 2000.0 InitialHealth = 2000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ProductionUpdate ModuleTag_10 NumDoorAnimations = 1 DoorOpeningTime = 3250 ;in mSeconds DoorWaitOpenTime = 3000 ;in mSeconds DoorCloseTime = 4000 ;in mSeconds ConstructionCompleteDuration = 1500 ;in mSeconds End Behavior = DefaultProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: -10.0 Y:-30.0 Z:0.0 NaturalRallyPoint = X: 53.0 Y:-30.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RepairDockUpdate ModuleTag_12 TimeForFullHeal = 5000 ;(in milliseconds) NumberApproachPositions = 5 End Behavior = BaseRegenerateUpdate ModuleTag_13 ;No data End ;---- Removed module ; Behavior = SlowDeathBehavior ModuleTag_14 ; DestructionDelay = 500 ; FX = FINAL FX_StructureMediumDeath ; OCL = FINAL OCL_AmericaWarFactoryDebris ; End Behavior = TransitionDamageFX ModuleTag_15 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = CreateObjectDie ModuleTag_16 CreationList = SupW_OCL_AmericanRangerDebris05 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FlammableUpdate ModuleTag_18 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = CreateObjectDie ModuleTag_20 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_21 DeathFX = FX_StructureMediumDeath End Behavior = DestroyDie ModuleTag_22 ;nothing End Geometry = BOX GeometryMajorRadius = 53.0 GeometryMinorRadius = 60.0 GeometryHeight = 40.0 GeometryIsSmall = No FactoryExitWidth = 25 ; How much space to leave for units exiting. Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object SupW_AmericaPatriotBattery ; *** ART Parameters *** SelectPortrait = SAMicroPat_L ButtonImage = SAMicroPat Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = ABPatriotSW Turret = TURRET01 TurretPitch = TURRETEL WeaponLaunchBone = PRIMARY WeaponA WeaponLaunchBone = SECONDARY WeaponA WeaponLaunchBone = TERTIARY WeaponA WeaponFireFXBone = PRIMARY WeaponA WeaponFireFXBone = SECONDARY WeaponA WeaponFireFXBone = TERTIARY WeaponA End AliasConditionState = NIGHT ConditionState = DAMAGED Model = ABPatriotSW_D End AliasConditionState = DAMAGED NIGHT ConditionState = REALLYDAMAGED RUBBLE Model = ABPatriotSW_E End AliasConditionState = REALLYDAMAGED RUBBLE NIGHT ConditionState = SNOW Model = ABPatriotSW_S End AliasConditionState = SNOW NIGHT ConditionState = DAMAGED SNOW Model = ABPatriotSW_DS End AliasConditionState = SNOW NIGHT DAMAGED ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABPatriotSW_ES End AliasConditionState = SNOW NIGHT REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPatriot Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABPatriot_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABPatriot_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW Model = ABPatriot_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABPatriot_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW Model = ABPatriot_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No ; Do not pause the construction anims when low power disabled DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPatriot_A4 Animation = ABPatriot_A4.ABPatriot_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPatriot_A4N Animation = ABPatriot_A4N.ABPatriot_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPatriot_A4S Animation = ABPatriot_A4S.ABPatriot_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPatriot_A4SN Animation = ABPatriot_A4SN.ABPatriot_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABPatriot_A4 Animation = ABPatriot_A4.ABPatriot_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABPatriot_A4N Animation = ABPatriot_A4N.ABPatriot_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABPatriot_A4S Animation = ABPatriot_A4S.ABPatriot_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABPatriot_A4SN Animation = ABPatriot_A4SN.ABPatriot_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABPatriot_A4 Animation = ABPatriot_A4.ABPatriot_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABPatriot_A4N Animation = ABPatriot_A4N.ABPatriot_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABPatriot_A4S Animation = ABPatriot_A4S.ABPatriot_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABPatriot_A4SN Animation = ABPatriot_A4SN.ABPatriot_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No ; Do not pause the construction anims when low power disabled MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABPatriot_A6 Animation = ABPatriot_A6.ABPatriot_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABPatriot_A6N Animation = ABPatriot_A6N.ABPatriot_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABPatriot_A6S Animation = ABPatriot_A6S.ABPatriot_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABPatriot_A6SN Animation = ABPatriot_A6SN.ABPatriot_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABPatriot_A6 Animation = ABPatriot_A6.ABPatriot_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABPatriot_A6N Animation = ABPatriot_A6N.ABPatriot_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABPatriot_A6S Animation = ABPatriot_A6S.ABPatriot_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABPatriot_A6SN Animation = ABPatriot_A6SN.ABPatriot_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABPatriot_A6 Animation = ABPatriot_A6.ABPatriot_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABPatriot_A6N Animation = ABPatriot_A6N.ABPatriot_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABPatriot_A6S Animation = ABPatriot_A6S.ABPatriot_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABPatriot_A6SN Animation = ABPatriot_A6SN.ABPatriot_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:SupW_PatriotBattery Side = AmericaSuperWeaponGeneral EditorSorting = STRUCTURE Prerequisites Object = SupW_AmericaPowerPlant End BuildCost = 900 BuildTime = 25.0 ; in seconds EnergyProduction = -3 WeaponSet Conditions = None Weapon = PRIMARY SupW_PatriotMissileWeapon Weapon = SECONDARY SupW_PatriotMissileAssistWeapon Weapon = TERTIARY SupW_PatriotMissileWeaponAir AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT AutoChooseSources = SECONDARY NONE AutoChooseSources = TERTIARY FROM_PLAYER FROM_AI FROM_SCRIPT PreferredAgainst = PRIMARY VEHICLE INFANTRY PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT PreferredAgainst = TERTIARY BALLISTIC_MISSILE AIRCRAFT ShareWeaponReloadTime = Yes End VisionRange = 360.0 ; Shroud clearing distance AND targeting range ShroudClearingRange = 360 ArmorSet Conditions = None Armor = BaseDefenseArmor DamageFX = StructureDamageFXNoShake End CommandSet = SupW_AmericaPatriotBatteryCommandSet ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = PatriotBatterySelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) TurretMoveLoopLoud End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE SCORE FS_TECHNOLOGY POWERED FS_BASE_DEFENSE IMMUNE_TO_CAPTURE EMP_HARDENED Body = StructureBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = StealthDetectorUpdate ModuleTag_05 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 200 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = BaseRegenerateUpdate ModuleTag_06 ;No data End Behavior = AIUpdateInterface ModuleTag_07 Turret TurretTurnRate = 180 // turn rate, in degrees per sec TurretPitchRate = 180 AllowsPitch = Yes NaturalTurretPitch = 45 GroundUnitPitch = 40 MinPhysicalPitch = -20 ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY MinIdleScanInterval = 250 ; in milliseconds MaxIdleScanInterval = 250 ; in milliseconds MinIdleScanAngle = 0 ; in degrees off the natural turret angle MaxIdleScanAngle = 360 ; in degrees off the natural turret angle End AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS; defensive weapon MoodAttackCheckRate = 250 End Behavior = AssistedTargetingUpdate ModuleTag_08 AssistingClipSize = 4 ; How many shots to make when asked by someone of my kind who has a RequestAssistRange weapon AssistingWeaponSlot = SECONDARY ; And the weapon to use. Should have huge range and no natural clip. LaserFromAssisted = PatriotBinaryDataStream ; Stream to draw from the requestor to me LaserToTarget = PatriotBinaryDataStream ; Stream to draw from me to the target End Behavior = DestroyDie ModuleTag_09 ;nothing End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureTinyDeath End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = CreateObjectDie ModuleTag_SpawnRangers CreationList = SupW_OCL_AmericanRangerDebris03 ExemptStatus = UNDER_CONSTRUCTION End Behavior = ObjectCreationUpgrade ModuleTag_13 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = SupW_Upgrade_AmericaPointDefenseDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_14 UpgradeObject = SupW_OCL_AmericanPointDefenseDrone TriggeredBy = SupW_Upgrade_AmericaPointDefenseDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_15 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone SupW_Upgrade_AmericaPointDefenseDrone End Behavior = ProductionUpdate ModuleTag_16 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End ; Module 17 removed by design ; Behavior = FireWeaponUpdate ModuleTag_17 ; Weapon = SupW_DefenseEmitterWeapon ; ExclusiveWeaponDelay = 500 ; End ;Module 18 removed because it is bizarre and useless ; Behavior = FireWeaponUpdate ModuleTag_18 ; Weapon = HazardFieldCoreWeapon ; Prevents stacking of fields with a small blast of cleaning at the core at startup ; End Behavior = TransitionDamageFX ModuleTag_20 ;-------------DESIGNED FOR TINY SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionTinyExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionTinyShockwave End Geometry = CYLINDER GeometryMajorRadius = 12.0 GeometryMinorRadius = 1.0 GeometryHeight = 14.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object SupW_AmericaFireBase ; *** ART Parameters *** SelectPortrait = SAFirebase_L ButtonImage = SAFirebase Draw = W3DModelDraw ModuleTag_01 IgnoreConditionStates = NIGHT OkToChangeModelColor = Yes ExtraPublicBone = STATION01 ExtraPublicBone = STATION02 ExtraPublicBone = STATION03 ExtraPublicBone = STATION04 DefaultConditionState Model = ABFIREBASE WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponRecoilBone = PRIMARY Barrel Turret = TURRET01 TurretPitch = TURRETEL WeaponLaunchBone = PRIMARY MUZZLE01 WeaponFireFXBone = PRIMARY MUZZLEFX End ConditionState = DAMAGED Model = ABFIREBASE_D End ConditionState = REALLYDAMAGED RUBBLE Model = ABFIREBASE_E End ConditionState = SNOW Model = ABFIREBASE_S End ConditionState = DAMAGED SNOW Model = ABFIREBASE_DS End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABFIREBASE_ES End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED ;************************************************************************************************************************** ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABFIREBASE Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABFIREBASE_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABFIREBASE_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW Model = ABFIREBASE_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Sparks01 BuildUpBlueSpark ParticleSysBone = Sparks02 BuildUpBlueSpark ParticleSysBone = Sparks03 BuildUpBlueSpark ParticleSysBone = Sparks04 BuildUpBlueSpark ParticleSysBone = Sparks05 BuildUpBlueSpark ParticleSysBone = Sparks06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:FireBase Side = AmericaSuperWeaponGeneral EditorSorting = STRUCTURE Prerequisites Object = SupW_AmericaPowerPlant End BuildCost = 1000 BuildTime = 25.0 ; in seconds EnergyProduction = 0 WeaponSet Conditions = None Weapon = PRIMARY FireBaseHowitzerGun End VisionRange = 360.0 ; Shroud clearing distance AND targeting range ShroudClearingRange = 360 ArmorSet Conditions = None Armor = FireBaseArmor DamageFX = StructureDamageFXNoShake End CommandSet = SupW_AmericaFireBaseCommandSet ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = PatriotBatterySelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) TurretMoveLoopLoud End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE SPAWNS_ARE_THE_WEAPONS SCORE FS_TECHNOLOGY FS_BASE_DEFENSE IMMUNE_TO_CAPTURE GARRISONABLE_UNTIL_DESTROYED Body = HiveStructureBody ModuleTag_04; MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 ;**Careful with these damage types -- because area damage types will already ;**damage slaves. PropagateDamageTypesToSlavesWhenExisting = NONE +SNIPER ;+SMALL_ARMS +POISON +RADIATION +SURRENDER ;SwallowDamageTypesIfSlavesNotExisting = NONE +SNIPER +POISON +SURRENDER; Take no damage if no one to pass this to End Behavior = BaseRegenerateUpdate ModuleTag_05 ;No data End Behavior = AIUpdateInterface ModuleTag_06 Turret TurretTurnRate = 60 // turn rate, in degrees per sec TurretPitchRate = 60 AllowsPitch = Yes NaturalTurretPitch = 1 GroundUnitPitch = 40 MinPhysicalPitch = -20 ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY MinIdleScanInterval = 550 ; in milliseconds MaxIdleScanInterval = 950 ; in milliseconds MinIdleScanAngle = 0 ; in degrees off the natural turret angle MaxIdleScanAngle = 360 ; in degrees off the natural turret angle End AutoAcquireEnemiesWhenIdle = Yes ;ATTACK_BUILDINGS; defensive weapon MoodAttackCheckRate = 250 End Behavior = GarrisonContain ModuleTag_07 ContainMax = 4 EnterSound = GarrisonEnter ExitSound = GarrisonExit ImmuneToClearBuildingAttacks = Yes DamagePercentToUnits = 100% IsEnclosingContainer = No End Behavior = DestroyDie ModuleTag_08 ;nothing End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_LargeStructureDebris End Behavior = TransitionDamageFX ModuleTag_14 ;-------------DESIGNED FOR TINY SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionTinySmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionTinyExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionTinyShockwave End Geometry = BOX GeometryMajorRadius = 26.0 GeometryMinorRadius = 26.0 GeometryHeight = 15.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object SupW_AmericaPowerPlant ; *** ART Parameters *** SelectPortrait = SAPowerPlantSW_L ButtonImage = SACntrlRds UpgradeCameo1 = SupW_Upgrade_AmericaAdvancedControlRods ; ---- the building itself ------ Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ******************************************** ConditionState = NONE; Model = ABPWRPLANT Animation = ABPWRPLANT.ABPWRPLANT AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED Model = ABPWRPLANT_D ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE Model = ABPWRPLANT_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks End ; day upgrade ConditionState = POWER_PLANT_UPGRADED ; Model = ABPWRPLANT Animation = ABPWRPLANT.ABPWRPLANT AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ConditionState = DAMAGED POWER_PLANT_UPGRADED Model = ABPWRPLANT_D ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED Model = ABPWRPLANT_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ; night ConditionState = NIGHT; Model = ABPWRPLANT_N Animation = ABPWRPLANT_N.ABPWRPLANT_N AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED NIGHT Model = ABPWRPLANT_DN Animation = ABPWRPLANT_DN.ABPWRPLANT_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks ParticleSysBone = Sparks03 LiveWireSparks02 End ConditionState = REALLYDAMAGED RUBBLE NIGHT; Model = ABPWRPLANT_EN Animation = ABPWRPLANT_EN.ABPWRPLANT_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks End ; night upgraded ConditionState = NIGHT POWER_PLANT_UPGRADED Model = ABPWRPLANT_N Animation = ABPWRPLANT_N.ABPWRPLANT_N AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ConditionState = DAMAGED NIGHT POWER_PLANT_UPGRADED Model = ABPWRPLANT_DN Animation = ABPWRPLANT_DN.ABPWRPLANT_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE NIGHT POWER_PLANT_UPGRADED Model = ABPWRPLANT_EN Animation = ABPWRPLANT_EN.ABPWRPLANT_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ; day ******************************************** ConditionState = SNOW Model = ABPWRPLANT_S Animation = ABPWRPLANT_S.ABPWRPLANT_S AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED SNOW Model = ABPWRPLANT_DS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = ABPWRPLANT_ES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks End ; day upgrade ConditionState = POWER_PLANT_UPGRADED SNOW; Model = ABPWRPLANT_S Animation = ABPWRPLANT_S.ABPWRPLANT_S AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW Model = ABPWRPLANT_DS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW Model = ABPWRPLANT_ES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Spark01 LiveWireSparks ParticleSysBone = Spark02 LiveWireSparks02 ParticleSysBone = Spark03 LiveWireSparks02 ParticleSysBone = Spark04 LiveWireSparks ParticleSysBone = Spark05 LiveWireSparks02 ParticleSysBone = Spark06 LiveWireSparks End ; night ConditionState = NIGHT SNOW; Model = ABPWRPLANT_NS Animation = ABPWRPLANT_NS.ABPWRPLANT_NS AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent End ConditionState = DAMAGED NIGHT SNOW Model = ABPWRPLANT_DNS Animation = ABPWRPLANT_DNS.ABPWRPLANT_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks ParticleSysBone = Sparks03 LiveWireSparks02 End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW; Model = ABPWRPLANT_ENS Animation = ABPWRPLANT_ENS.ABPWRPLANT_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Sparks01 LiveWireSparks ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks End ; night upgraded ConditionState = NIGHT POWER_PLANT_UPGRADED SNOW Model = ABPWRPLANT_NS Animation = ABPWRPLANT_NS.ABPWRPLANT_NS AnimationMode = LOOP ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ConditionState = DAMAGED NIGHT POWER_PLANT_UPGRADED SNOW Model = ABPWRPLANT_DNS Animation = ABPWRPLANT_DNS.ABPWRPLANT_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ConditionState = REALLYDAMAGED RUBBLE NIGHT POWER_PLANT_UPGRADED SNOW Model = ABPWRPLANT_ENS Animation = ABPWRPLANT_ENS.ABPWRPLANT_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFireLarge ParticleSysBone = Fire02 SmolderingFireLarge ParticleSysBone = Fire03 SmolderingFireLarge ParticleSysBone = Sparks02 LiveWireSparks02 ParticleSysBone = Sparks03 LiveWireSparks02 ParticleSysBone = Sparks04 LiveWireSparks ParticleSysBone = Sparks05 LiveWireSparks02 ParticleSysBone = Sparks07 LiveWireSparks ParticleSysBone = Sparks08 LiveWireSparks02 ParticleSysBone = Sparks09 LiveWireSparks ParticleSysBone = Sparks10 LiveWireSparks02 ParticleSysBone = Sparks11 LiveWireSparks End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPWRPLANT Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABPWRPLANT_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = ABPWRPLANT_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABPWRPLANT_N Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABPWRPLANT_DN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABPWRPLANT_EN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = ABPWRPLANT_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = ABPWRPLANT_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = ABPWRPLANT_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = ABPWRPLANT_NS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = ABPWRPLANT_DNS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = ABPWRPLANT_ENS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD SNOW POWER_PLANT_UPGRADED AliasConditionState = SOLD SNOW DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD SNOW REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED POWER_PLANT_UPGRADED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A4 Animation = ABPwrPlant_A4.ABPwrPlant_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A4N Animation = ABPwrPlant_A4N.ABPwrPlant_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A4S Animation = ABPwrPlant_A4S.ABPwrPlant_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A4S Animation = ABPwrPlant_A4S.ABPwrPlant_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = ABPwrPlant_A4 Animation = ABPwrPlant_A4.ABPwrPlant_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABPwrPlant_A4N Animation = ABPwrPlant_A4N.ABPwrPlant_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABPwrPlant_A4S Animation = ABPwrPlant_A4S.ABPwrPlant_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABPwrPlant_A4SN Animation = ABPwrPlant_A4SN.ABPwrPlant_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABPwrPlant_A4 Animation = ABPwrPlant_A4.ABPwrPlant_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABPwrPlant_A4N Animation = ABPwrPlant_A4N.ABPwrPlant_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABPwrPlant_A4S Animation = ABPwrPlant_A4S.ABPwrPlant_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABPwrPlant_A4SN Animation = ABPwrPlant_A4SN.ABPwrPlant_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABPwrPlant_A6 Animation = ABPwrPlant_A6.ABPwrPlant_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SparksS01 BuildUpBlueSpark ParticleSysBone = SparksS02 BuildUpBlueSpark ParticleSysBone = SparksS03 SparksSmall ParticleSysBone = SparksS06 BuildUpBlueSpark End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABPwrPlant_A6N Animation = ABPwrPlant_A6N.ABPwrPlant_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = SparksS01 BuildUpBlueSpark ParticleSysBone = SparksS02 BuildUpBlueSpark ParticleSysBone = SparksS03 SparksSmall ParticleSysBone = SparksS06 BuildUpBlueSpark End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABPwrPlant_A6S Animation = ABPwrPlant_A6S.ABPwrPlant_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = SparksS01 BuildUpBlueSpark ParticleSysBone = SparksS02 BuildUpBlueSpark ParticleSysBone = SparksS03 SparksSmall ParticleSysBone = SparksS06 BuildUpBlueSpark End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABPwrPlant_A6SN Animation = ABPwrPlant_A6SN.ABPwrPlant_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = SparksS01 BuildUpBlueSpark ParticleSysBone = SparksS02 BuildUpBlueSpark ParticleSysBone = SparksS03 SparksSmall ParticleSysBone = SparksS06 BuildUpBlueSpark End TransitionState = DOWN_DEFAULT UP_DAY Model = ABPwrPlant_A6 Animation = ABPwrPlant_A6.ABPwrPlant_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABPwrPlant_A6N Animation = ABPwrPlant_A6N.ABPwrPlant_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABPwrPlant_A6S Animation = ABPwrPlant_A6S.ABPwrPlant_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABPwrPlant_A6SN Animation = ABPwrPlant_A6SN.ABPwrPlant_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABPwrPlant_A6 Animation = ABPwrPlant_A6.ABPwrPlant_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABPwrPlant_A6N Animation = ABPwrPlant_A6N.ABPwrPlant_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABPwrPlant_A6S Animation = ABPwrPlant_A6S.ABPwrPlant_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABPwrPlant_A6SN Animation = ABPwrPlant_A6SN.ABPwrPlant_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A5 Animation = ABPwrPlant_A5.ABPwrPlant_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A5N Animation = ABPwrPlant_A5N.ABPwrPlant_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A5S Animation = ABPwrPlant_A5S.ABPwrPlant_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = ABPwrPlant_A5SN Animation = ABPwrPlant_A5SN.ABPwrPlant_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABPwrPlant_AB Animation = ABPwrPlant_AB.ABPwrPlant_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABPwrPlant_ABN Animation = ABPwrPlant_ABN.ABPwrPlant_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABPwrPlant_ABS Animation = ABPwrPlant_ABS.ABPwrPlant_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABPwrPlant_ABSN Animation = ABPwrPlant_ABSN.ABPwrPlant_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABPwrPlant_AB Animation = ABPwrPlant_AB.ABPwrPlant_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABPwrPlant_ABN Animation = ABPwrPlant_ABN.ABPwrPlant_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABPwrPlant_ABS Animation = ABPwrPlant_ABS.ABPwrPlant_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABPwrPlant_ABSN Animation = ABPwrPlant_ABSN.ABPwrPlant_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ---- the control rods ----- Draw = W3DModelDraw ModuleTag_05 OkToChangeModelColor = Yes ; no upgrade ConditionState = NONE Model ABPWRPLANTSW_A1 End AliasConditionState = SNOW AliasConditionState = NIGHT AliasConditionState = SNOW NIGHT ConditionState = DAMAGED Model ABPWRPLANTS_A1D End AliasConditionState = DAMAGED SNOW AliasConditionState = DAMAGED NIGHT AliasConditionState = DAMAGED SNOW NIGHT ConditionState = REALLYDAMAGED RUBBLE Model ABPWRPLANTS_A1E End AliasConditionState = REALLYDAMAGED RUBBLE SNOW AliasConditionState = REALLYDAMAGED RUBBLE NIGHT AliasConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABPWRPLANTSW_A1 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABPWRPLANTS_A1D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = DAMAGED AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = ABPWRPLANTS_A1E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = REALLYDAMAGED RUBBLE AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW NIGHT ; first to upgrade ConditionState = POWER_PLANT_UPGRADING Model ABPWRPLANTSW_A1 Animation = ABPWRPLANTSW_A1.ABPWRPLANTSW_A1 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = POWER_PLANT_UPGRADING SNOW AliasConditionState = POWER_PLANT_UPGRADING NIGHT AliasConditionState = POWER_PLANT_UPGRADING SNOW NIGHT ConditionState = DAMAGED POWER_PLANT_UPGRADING Model ABPWRPLANTS_A1D Animation = ABPWRPLANTS_A1D.ABPWRPLANTS_A1D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = DAMAGED POWER_PLANT_UPGRADING SNOW AliasConditionState = DAMAGED POWER_PLANT_UPGRADING NIGHT AliasConditionState = DAMAGED POWER_PLANT_UPGRADING SNOW NIGHT ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING Model ABPWRPLANTS_A1E Animation = ABPWRPLANTS_A1E.ABPWRPLANTS_A1E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING SNOW AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING NIGHT AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADING SNOW NIGHT ; already upgraded ConditionState = POWER_PLANT_UPGRADED Model ABPWRPLANTSW_A1 Animation = ABPWRPLANTSW_A1.ABPWRPLANTSW_A1 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = POWER_PLANT_UPGRADED SNOW AliasConditionState = POWER_PLANT_UPGRADED NIGHT AliasConditionState = POWER_PLANT_UPGRADED SNOW NIGHT ConditionState = DAMAGED POWER_PLANT_UPGRADED Model ABPWRPLANTS_A1D Animation = ABPWRPLANTS_A1D.ABPWRPLANTS_A1D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW AliasConditionState = DAMAGED POWER_PLANT_UPGRADED NIGHT AliasConditionState = DAMAGED POWER_PLANT_UPGRADED SNOW NIGHT ConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED Model ABPWRPLANTS_A1E Animation = ABPWRPLANTS_A1E.ABPWRPLANTS_A1E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED NIGHT AliasConditionState = REALLYDAMAGED RUBBLE POWER_PLANT_UPGRADED SNOW NIGHT ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT REALLYDAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW DAMAGED POWER_PLANT_UPGRADED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED POWER_PLANT_UPGRADED ;************************************************************************************************************************** End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:ColdFusionReactor Side = AmericaSuperWeaponGeneral EditorSorting = STRUCTURE Prerequisites End BuildCost = 900 BuildTime = 10.0 ; in seconds EnergyProduction = 5 EnergyBonus = 15 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End CommandSet = SupW_AmericaPowerPlantCommandSet ExperienceValue = 100 100 100 100 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = ColdFusionReactorSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_POWER MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_06 MaxHealth = 800.0 InitialHealth = 800.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1000 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = PowerPlantUpgrade ModuleTag_07 TriggeredBy = SupW_Upgrade_AmericaAdvancedControlRods End Behavior = BaseRegenerateUpdate ModuleTag_08 ;No data End Behavior = PowerPlantUpdate ModuleTag_09 RodsExtendTime = 600 End Behavior = DestroyDie ModuleTag_10 ;nothing End Behavior = CreateObjectDie ModuleTag_11 CreationList = OCL_ABPowerPlantExplode End Behavior = CreateObjectDie ModuleTag_12 CreationList = SupW_OCL_AmericanRangerDebris02 ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_13 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_14 ; nothing End Behavior = FlammableUpdate ModuleTag_16 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_17 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = BOX GeometryMajorRadius = 22.0 GeometryMinorRadius = 30.0 GeometryHeight = 46.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;China Neutron Missile, NukeSilo, Nuke Silo Object SupW_AmericaNuclearMissileLauncher ; *** ART Parameters *** SelectPortrait = SAICBM_L ButtonImage = SAICBM Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = ABNukeSilo End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End ConditionState = DAMAGED Model = ABNukeSilo_D ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = ABNukeSilo_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = AWAITING_CONSTRUCTION Model = None End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABNukeSilo Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABNukeSilo_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = ABNukeSilo_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = DOOR_1_OPENING Model = ABNukeSilo_A2 Animation = ABNukeSilo_A2.ABNukeSilo_A2 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_WAITING_OPEN Model = ABNukeSilo_A2 Animation = ABNukeSilo_A2.ABNukeSilo_A2 AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE Model = ABNukeSilo_A3 Animation = ABNukeSilo_A3.ABNukeSilo_A3 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost End ConditionState = DOOR_1_CLOSING Model = ABNukeSilo_A3 Animation = ABNukeSilo_A3.ABNukeSilo_A3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End ConditionState = DOOR_1_OPENING DAMAGED Model = ABNukeSilo_A2D Animation = ABNukeSilo_A2D.ABNukeSilo_A2D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = ABNukeSilo_A2D Animation = ABNukeSilo_A2D.ABNukeSilo_A2D AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE DAMAGED Model = ABNukeSilo_A3D Animation = ABNukeSilo_A3D.ABNukeSilo_A3D AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING DAMAGED Model = ABNukeSilo_A3D Animation = ABNukeSilo_A3D.ABNukeSilo_A3D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = ABNukeSilo_A2E Animation = ABNukeSilo_A2E.ABNukeSilo_A2E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = ABNukeSilo_A2E Animation = ABNukeSilo_A2E.ABNukeSilo_A2E AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE Model = ABNukeSilo_A3E Animation = ABNukeSilo_A3E.ABNukeSilo_A3E AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = ABNukeSilo_A3E Animation = ABNukeSilo_A3E.ABNukeSilo_A3E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ; night ConditionState = NIGHT Model = ABNukeSilo End ConditionState = DAMAGED NIGHT Model = ABNukeSilo_D ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABNukeSilo_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = AWAITING_CONSTRUCTION NIGHT Model = None End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABNukeSilo Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABNukeSilo_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABNukeSilo_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = DOOR_1_OPENING NIGHT Model = ABNukeSilo_A2 Animation = ABNukeSilo_A2.ABNukeSilo_A2 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_WAITING_OPEN NIGHT Model = ABNukeSilo_A2 Animation = ABNukeSilo_A2.ABNukeSilo_A2 AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE NIGHT Model = ABNukeSilo_A3 Animation = ABNukeSilo_A3.ABNukeSilo_A3 AnimationMode = MANUAL Flags = START_FRAME_FIRST ;WeaponLaunchBone = PRIMARY RockPost End ConditionState = DOOR_1_CLOSING NIGHT Model = ABNukeSilo_A3 Animation = ABNukeSilo_A3.ABNukeSilo_A3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End ConditionState = DOOR_1_OPENING DAMAGED NIGHT Model = ABNukeSilo_A2D Animation = ABNukeSilo_A2D.ABNukeSilo_A2D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN DAMAGED NIGHT Model = ABNukeSilo_A2D Animation = ABNukeSilo_A2D.ABNukeSilo_A2D AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE DAMAGED NIGHT Model = ABNukeSilo_A3D Animation = ABNukeSilo_A3D.ABNukeSilo_A3D AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING DAMAGED NIGHT Model = ABNukeSilo_A3D Animation = ABNukeSilo_A3D.ABNukeSilo_A3D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE NIGHT Model = ABNukeSilo_A2E Animation = ABNukeSilo_A2E.ABNukeSilo_A2E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE NIGHT Model = ABNukeSilo_A2E Animation = ABNukeSilo_A2E.ABNukeSilo_A2E AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE NIGHT Model = ABNukeSilo_A3E Animation = ABNukeSilo_A3E.ABNukeSilo_A3E AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE NIGHT Model = ABNukeSilo_A3E Animation = ABNukeSilo_A3E.ABNukeSilo_A3E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ;-------------- SNOW! -------------------- ConditionState = SNOW Model = NBNMissle_S End ConditionState = DAMAGED SNOW Model = NBNMissle_DS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBNMissle_ES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = AWAITING_CONSTRUCTION SNOW Model = None End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBNMissle_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBNMissle_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBNMissle_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = DOOR_1_OPENING SNOW Model = NBNMissle_A2S Animation = NBNMissle_A2S.NBNMissle_A2S AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_WAITING_OPEN SNOW Model = NBNMissle_A2S Animation = NBNMissle_A2S.NBNMissle_A2S AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE SNOW Model = NBNMissle_A3S Animation = NBNMissle_A3S.NBNMissle_A3S AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost End ConditionState = DOOR_1_CLOSING SNOW Model = NBNMissle_A3S Animation = NBNMissle_A3S.NBNMissle_A3S AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End ConditionState = DOOR_1_OPENING DAMAGED SNOW Model = NBNMissle_A2DS Animation = NBNMissle_A2DS.NBNMissle_A2DS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN DAMAGED SNOW Model = NBNMissle_A2DS Animation = NBNMissle_A2DS.NBNMissle_A2DS AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE DAMAGED SNOW Model = NBNMissle_A3DS Animation = NBNMissle_A3DS.NBNMissle_A3DS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING DAMAGED SNOW Model = NBNMissle_A3DS Animation = NBNMissle_A3DS.NBNMissle_A3DS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE SNOW Model = NBNMissle_A2ES Animation = NBNMissle_A2ES.NBNMissle_A2ES AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE SNOW Model = NBNMissle_A2ES Animation = NBNMissle_A2ES.NBNMissle_A2ES AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE SNOW Model = NBNMissle_A3ES Animation = NBNMissle_A3ES.NBNMissle_A3ES AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE SNOW Model = NBNMissle_A3ES Animation = NBNMissle_A3ES.NBNMissle_A3ES AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ; night ConditionState = NIGHT SNOW Model = NBNMissle_NS End ConditionState = DAMAGED NIGHT SNOW Model = NBNMissle_DNS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBNMissle_ENS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = AWAITING_CONSTRUCTION NIGHT SNOW Model = None End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBNMissle_NS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBNMissle_DNS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBNMissle_ENS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = DOOR_1_OPENING NIGHT SNOW Model = NBNMissle_A2NS Animation = NBNMissle_A2NS.NBNMissle_A2NS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_WAITING_OPEN NIGHT SNOW Model = NBNMissle_A2NS Animation = NBNMissle_A2NS.NBNMissle_A2NS AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE NIGHT SNOW Model = NBNMissle_A3NS Animation = NBNMissle_A3NS.NBNMissle_A3NS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost End ConditionState = DOOR_1_CLOSING NIGHT SNOW Model = NBNMissle_A3NS Animation = NBNMissle_A3NS.NBNMissle_A3NS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End ConditionState = DOOR_1_OPENING DAMAGED NIGHT SNOW Model = NBNMissle_A2DNS Animation = NBNMissle_A2DNS.NBNMissle_A2DNS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN DAMAGED NIGHT SNOW Model = NBNMissle_A2DNS Animation = NBNMissle_A2DNS.NBNMissle_A2DNS AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE DAMAGED NIGHT SNOW Model = NBNMissle_A3DNS Animation = NBNMissle_A3DNS.NBNMissle_A3DNS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING DAMAGED NIGHT SNOW Model = NBNMissle_A3DNS Animation = NBNMissle_A3DNS.NBNMissle_A3DNS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBNMissle_A2ENS Animation = NBNMissle_A2ENS.NBNMissle_A2ENS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBNMissle_A2ENS Animation = NBNMissle_A2ENS.NBNMissle_A2ENS AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBNMissle_A3ENS Animation = NBNMissle_A3ENS.NBNMissle_A3ENS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBNMissle_A3ENS Animation = NBNMissle_A3ENS.NBNMissle_A3ENSS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- ;Draw = W3DModelDraw ModuleTag_04 ;AnimationsRequirePower = No ;DefaultConditionState ;Model = None ;TransitionKey = DOWN_DEFAULT ;End ;ConditionState = NIGHT ;Model = None ;TransitionKey = DOWN_DEFAULT ;End ;ConditionState = SNOW ;Model = None ;TransitionKey = DOWN_DEFAULT ;End ;ConditionState = SNOW NIGHT ;Model = None ;TransitionKey = DOWN_DEFAULT ;End ;ConditionState = SOLD ;Model = NONE ;End ;ConditionState = ACTIVELY_BEING_CONSTRUCTED ;Model = NBNMissle_A5 ;Animation = NBNMissle_A5.NBNMissle_A5 ;AnimationMode = LOOP ;TransitionKey = UP_DAY ;End ;ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED ;Model = NBNMissle_A5N ;Animation = NBNMissle_A5N.NBNMissle_A5N ;AnimationMode = LOOP ;TransitionKey = UP_NIGHT ;End ;ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED ;Model = NBNMissle_A5S ;Animation = NBNMissle_A5S.NBNMissle_A5S ;AnimationMode = LOOP ;TransitionKey = UP_SNOW ;End ;ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED ;Model = NBNMissle_A5SN ;Animation = NBNMissle_A5SN.NBNMissle_A5SN ;AnimationMode = LOOP ;TransitionKey = UP_SNOWNIGHT ;End ;TransitionState = DOWN_DEFAULT UP_DAY ;Model = NBNMissle_AB ;Animation = NBNMissle_AB.NBNMissle_AB ;AnimationMode = ONCE ;AnimationSpeedFactorRange = 1.0 1.0 ;Flags = START_FRAME_FIRST ;End ;TransitionState = DOWN_DEFAULT UP_NIGHT ;Model = NBNMissle_ABN ;Animation = NBNMissle_ABN.NBNMissle_ABN ;AnimationMode = ONCE ;AnimationSpeedFactorRange = 1.0 1.0 ;Flags = START_FRAME_FIRST ;End ;TransitionState = DOWN_DEFAULT UP_SNOW ;Model = NBNMissle_ABS ;Animation = NBNMissle_ABS.NBNMissle_ABS ;AnimationMode = ONCE ;AnimationSpeedFactorRange = 1.0 1.0 ;Flags = START_FRAME_FIRST ;End ;TransitionState = DOWN_DEFAULT UP_SNOWNIGHT ;Model = NBNMissle_ABSN ;Animation = NBNMissle_ABSN.NBNMissle_ABSN ;AnimationMode = ONCE ;AnimationSpeedFactorRange = 1.0 1.0 ;Flags = START_FRAME_FIRST ;End ;TransitionState = UP_DAY DOWN_DEFAULT ;Model = NBNMissle_AB ;Animation = NBNMissle_AB.NBNMissle_AB ;AnimationMode = ONCE_BACKWARDS ;AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly ;Flags = START_FRAME_LAST ;End ;TransitionState = UP_NIGHT DOWN_DEFAULT ;Model = NBNMissle_ABN ;Animation = NBNMissle_ABN.NBNMissle_ABN ;AnimationMode = ONCE_BACKWARDS ;AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly ;Flags = START_FRAME_LAST ;End ;TransitionState = UP_SNOW DOWN_DEFAULT ;Model = NBNMissle_ABS ;Animation = NBNMissle_ABS.NBNMissle_ABS ;AnimationMode = ONCE_BACKWARDS ;AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly ;Flags = START_FRAME_LAST ;End ;TransitionState = UP_SNOWNIGHT DOWN_DEFAULT ;Model = NBNMissle_ABSN ;Animation = NBNMissle_ABSN.NBNMissle_ABSN ;AnimationMode = ONCE_BACKWARDS ;AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly ;Flags = START_FRAME_LAST ;End ;End ; Blinking lights ;Draw = W3DModelDraw ModuleTag_05 ;OkToChangeModelColor = Yes ; day ;ConditionState = NONE ;Model = NBNMissle_AC ;Animation = NONE ;End ;ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ;Model = NBNMissle_AC ;Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ;End ;ConditionState = AWAITING_CONSTRUCTION ;Model = NONE ;End ;ConditionState = DOOR_1_OPENING ;Model = NBNMissle_AC ;Animation = NBNMissle_AC.NBNMissle_AC ;AnimationMode = LOOP ;Flags = START_FRAME_FIRST ;End ;ConditionState = DOOR_1_WAITING_OPEN ;Model = NBNMissle_AC ;Animation = NBNMissle_AC.NBNMissle_AC ;AnimationMode = LOOP ;Flags = START_FRAME_LAST ;End ;ConditionState = DOOR_1_WAITING_TO_CLOSE ;Model = NBNMissle_AC ;Animation = NBNMissle_AC.NBNMissle_AC ;AnimationMode = LOOP ;Flags = START_FRAME_FIRST ;WeaponLaunchBone = PRIMARY RockPos ;End ;ConditionState = DOOR_1_CLOSING ;Model = NBNMissle_AC ;Animation = NBNMissle_AC.NBNMissle_AC ;AnimationMode = LOOP ;Flags = START_FRAME_FIRST ;End ;End PlacementViewAngle = 135 ; ***DESIGN parameters *** DisplayName = OBJECT:NuclearMissile Side = AmericaSuperWeaponGeneral EditorSorting = STRUCTURE Prerequisites Object = SupW_AmericaStrategyCenter End BuildCost = 5000 BuildTime = 60.0 ; in seconds EnergyProduction = -10 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 CommandSet = SupW_AmericaNuclearMissileCommandSet ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 400 400 400 400 ; Experience point value at each level MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games MaxSimultaneousLinkKey = Superweapon ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType ; *** AUDIO Parameters *** VoiceSelect = NuclearMissileSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY POWERED MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_06 MaxHealth = 4000.0 InitialHealth = 4000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 4200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = OCLSpecialPower ModuleTag_07 SpecialPowerTemplate = SupW_SuperweaponNeutronMissile OCL = SupW_SUPERWEAPON_NeutronMissile End Behavior = SpecialPowerCreate ModuleTag_08 ;nothing End Behavior = MissileLauncherBuildingUpdate ModuleTag_09 SpecialPowerTemplate = SupW_SuperweaponNeutronMissile DoorOpenTime = 8000 DoorWaitOpenTime = 2000 DoorCloseTime = 8000 ; FXLists to play at transitions: DoorOpeningFX = ChinaNuclearMissileLauncherDoorOpen ;DoorOpenFX = FX_ABPowerPlantExplode DoorWaitingToCloseFX = ChinaNuclearMissileLauncherLaunch ;DoorClosingFX = FX_ABPowerPlantExplode ;DoorClosedFX = FX_ABPowerPlantExplode ; looping sound to play while open: DoorOpenIdleAudio = BuildingNeutronMissileHiss End Behavior = ProductionUpdate ModuleTag_10 DisabledTypesToProcess = DISABLED_HELD DISABLED_UNDERPOWERED End Behavior = DestroyDie ModuleTag_11 ;Nothing End Behavior = FireWeaponWhenDeadBehavior ModuleTag_12 DeathWeapon = ChinaPowerPlantDeathWeapon StartsActive = Yes End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_15 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = CreateObjectDie ModuleTag_20 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_21 ExemptStatus = UNDER_CONSTRUCTION DeathFX = FX_NukeGLA End Geometry = BOX GeometryMajorRadius = 45.0 GeometryMinorRadius = 55.0 GeometryHeight = 64.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object SupW_AmericaJetB3 ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = AVB3bmbr ParticleSysBone = Engine01 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = WingTip01 JetContrailThin ParticleSysBone = WingTip02 JetContrailThin ParticleSysBone = WingTip03 JetContrailThin ParticleSysBone = WingTip04 JetContrailThin End ConditionState = DAMAGED Model = AVB3bmbr_D ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Engine01 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = REALLYDAMAGED Model = AVB3bmbr_D ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Engine01 JetBlackTrailThin ParticleSysBone = Engine02 JetBlackTrailThin ParticleSysBone = Engine03 JetBlackTrailThin ParticleSysBone = Engine04 JetBlackTrailThin ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End ConditionState = RUBBLE Model = AVB3bmbr_D1 ParticleSysBone = Smoke01 JetFireLarge ParticleSysBone = Smoke02 JetFireLarge ParticleSysBone = Smoke01 JetSmokeLarge ParticleSysBone = Smoke02 JetSmokeLarge End OkToChangeModelColor = Yes End ; Draw = W3DModelDraw ModuleTag_02 ; DefaultConditionState ; Model = AVB3bmbr_A2K ; End ; ConditionState = DOOR_1_OPENING ; Animation = AVB3bmbr_A2K.AVB3bmbr_A2 ; AnimationMode = ONCE ; Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES ; End ; ConditionState = DOOR_1_CLOSING ; Animation = AVB3bmbr_A2K.AVB3bmbr_A2 ; AnimationMode = ONCE_BACKWARDS ; Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES ; End ; ConditionState = REALLYDAMAGED ; Model = AVB3bmbr_A2DU ; Animation = AVB3bmbr_A2K.AVB3bmbr_A2 ; AnimationMode = MANUAL ; Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES ; End ; ConditionState = DOOR_1_OPENING REALLYDAMAGED ; Model = AVB3bmbr_A2DU ; Animation = AVB3bmbr_A2K.AVB3bmbr_A2 ; AnimationMode = ONCE ; Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES ; End ; ConditionState = DOOR_1_CLOSING REALLYDAMAGED ; Model = AVB3bmbr_A2DU ; Animation = AVB3bmbr_A2K.AVB3bmbr_A2 ; AnimationMode = ONCE_BACKWARDS ; Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES ; End ; End ; ***DESIGN parameters *** DisplayName = OBJECT:B52 EditorSorting = VEHICLE Side = AmericaSuperWeaponGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 0.0 ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = TankDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = CountermeasuresAirplaneArmor DamageFX = None End CommandSet = Command_ScriptedTransportDrops ; *** AUDIO Parameters *** SoundAmbient = B3BomberAmbientLoop SoundAmbientRubble = NoSound ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT IGNORED_IN_GUI EMP_HARDENED Body = ActiveBody ModuleTag_03 MaxHealth = 1000.0 InitialHealth = 1000.0 End ExperienceValue = 50 50 50 50 ; Experience point value at each level ;SCRIPTED SUPPORT: These special powers are triggered directly ;from the transport without creating a transport. This is done ;via new code support and CreateLocation USE_OWNER_OBJECT -- ;which also prevents creating the payload transport. Behavior = OCLSpecialPower ModuleTag_04 SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@ OCL = SUPERWEAPON_DaisyCutter CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = OCLSpecialPower ModuleTag_05 SpecialPowerTemplate = SuperweaponMOAB ;@@KRIS@@ OCL = SUPERWEAPON_MOAB CreateLocation = USE_OWNER_OBJECT ScriptedSpecialPowerOnly = Yes End Behavior = PhysicsBehavior ModuleTag_07 Mass = 500.0 End Behavior = DeliverPayloadAIUpdate ModuleTag_08 DoorDelay = 500 MaxAttempts = 4 DropOffset = X:0 Y:0 Z:-10 DropDelay = 300 ; time in between each item dropped (if more than one) PutInContainer = AmericaParachute DeliveryDistance = 150 End Locomotor = SET_NORMAL B3Locomotor Behavior = TransportContain ModuleTag_09 Slots = 100 ; hey, it's a BIG transport ScatterNearbyOnExit = No OrientLikeContainerOnExit = Yes KeepContainerVelocityOnExit = Yes ExitPitchRate = 30 ExitBone = WeaponA01 AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em NumberOfExitPaths = 0 DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill' End Behavior = JetSlowDeathBehavior ModuleTag_10 DestructionDelay = 2000 RollRate = 0.0 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0 FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_JetBigDeathInitial OCLInitialDeath = OCL_AmericaJetCargoDeathStart DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the ground, so this time equals the above time OCLSecondary = OCL_AmericaJetCargoHulkDeath FXSecondary = FX_BigPlaneDeath ; FXFinalBlowUp = FX_JetDeathFinalBlowUp ; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = TransitionDamageFX ModuleTag_11 DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_AmericaCountermeasures End Behavior = CountermeasuresBehavior ModuleTag_12 TriggeredBy = Upgrade_AmericaCountermeasures FlareTemplateName = CountermeasureFlare FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03) VolleySize = 4 ; Number of flares launched per volley (requires bones) VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back). VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value. DelayBetweenVolleys = 1000 ; Time between flare volleys NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only. EvasionRate = 30% ; With active flares, the specified percentage will be diverted. ReactionLaunchLatency = 100 ; Reaction between getting shot at and the firing of the first volley of countermeasures. MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures. End Geometry = Box GeometryIsSmall = No GeometryMajorRadius = 60.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;China Neutron Missile, NukeSilo, Nuke Silo Object SupW_AmericaCruiseMissileLauncher ; *** ART Parameters *** SelectPortrait = SAICBM_L ButtonImage = SAICBM Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = ABNukeSilo End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End ConditionState = DAMAGED Model = ABNukeSilo_D ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = ABNukeSilo_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = AWAITING_CONSTRUCTION Model = None End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABNukeSilo Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = ABNukeSilo_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = ABNukeSilo_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = DOOR_1_OPENING Model = ABNukeSilo_A2 Animation = ABNukeSilo_A2.ABNukeSilo_A2 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_WAITING_OPEN Model = ABNukeSilo_A2 Animation = ABNukeSilo_A2.ABNukeSilo_A2 AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE Model = ABNukeSilo_A3 Animation = ABNukeSilo_A3.ABNukeSilo_A3 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost End ConditionState = DOOR_1_CLOSING Model = ABNukeSilo_A3 Animation = ABNukeSilo_A3.ABNukeSilo_A3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End ConditionState = DOOR_1_OPENING DAMAGED Model = ABNukeSilo_A2D Animation = ABNukeSilo_A2D.ABNukeSilo_A2D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = ABNukeSilo_A2D Animation = ABNukeSilo_A2D.ABNukeSilo_A2D AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE DAMAGED Model = ABNukeSilo_A3D Animation = ABNukeSilo_A3D.ABNukeSilo_A3D AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING DAMAGED Model = ABNukeSilo_A3D Animation = ABNukeSilo_A3D.ABNukeSilo_A3D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = ABNukeSilo_A2E Animation = ABNukeSilo_A2E.ABNukeSilo_A2E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = ABNukeSilo_A2E Animation = ABNukeSilo_A2E.ABNukeSilo_A2E AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE Model = ABNukeSilo_A3E Animation = ABNukeSilo_A3E.ABNukeSilo_A3E AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = ABNukeSilo_A3E Animation = ABNukeSilo_A3E.ABNukeSilo_A3E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ; night ConditionState = NIGHT Model = ABNukeSilo End ConditionState = DAMAGED NIGHT Model = ABNukeSilo_D ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = ABNukeSilo_E ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = AWAITING_CONSTRUCTION NIGHT Model = None End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = ABNukeSilo Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = ABNukeSilo_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = ABNukeSilo_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = DOOR_1_OPENING NIGHT Model = ABNukeSilo_A2 Animation = ABNukeSilo_A2.ABNukeSilo_A2 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_WAITING_OPEN NIGHT Model = ABNukeSilo_A2 Animation = ABNukeSilo_A2.ABNukeSilo_A2 AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE NIGHT Model = ABNukeSilo_A3 Animation = ABNukeSilo_A3.ABNukeSilo_A3 AnimationMode = MANUAL Flags = START_FRAME_FIRST ;WeaponLaunchBone = PRIMARY RockPost End ConditionState = DOOR_1_CLOSING NIGHT Model = ABNukeSilo_A3 Animation = ABNukeSilo_A3.ABNukeSilo_A3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End ConditionState = DOOR_1_OPENING DAMAGED NIGHT Model = ABNukeSilo_A2D Animation = ABNukeSilo_A2D.ABNukeSilo_A2D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN DAMAGED NIGHT Model = ABNukeSilo_A2D Animation = ABNukeSilo_A2D.ABNukeSilo_A2D AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE DAMAGED NIGHT Model = ABNukeSilo_A3D Animation = ABNukeSilo_A3D.ABNukeSilo_A3D AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING DAMAGED NIGHT Model = ABNukeSilo_A3D Animation = ABNukeSilo_A3D.ABNukeSilo_A3D AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE NIGHT Model = ABNukeSilo_A2E Animation = ABNukeSilo_A2E.ABNukeSilo_A2E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE NIGHT Model = ABNukeSilo_A2E Animation = ABNukeSilo_A2E.ABNukeSilo_A2E AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE NIGHT Model = ABNukeSilo_A3E Animation = ABNukeSilo_A3E.ABNukeSilo_A3E AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE NIGHT Model = ABNukeSilo_A3E Animation = ABNukeSilo_A3E.ABNukeSilo_A3E AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ;-------------- SNOW! -------------------- ConditionState = SNOW Model = NBNMissle_S End ConditionState = DAMAGED SNOW Model = NBNMissle_DS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBNMissle_ES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = AWAITING_CONSTRUCTION SNOW Model = None End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBNMissle_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBNMissle_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBNMissle_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = DOOR_1_OPENING SNOW Model = NBNMissle_A2S Animation = NBNMissle_A2S.NBNMissle_A2S AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_WAITING_OPEN SNOW Model = NBNMissle_A2S Animation = NBNMissle_A2S.NBNMissle_A2S AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE SNOW Model = NBNMissle_A3S Animation = NBNMissle_A3S.NBNMissle_A3S AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost End ConditionState = DOOR_1_CLOSING SNOW Model = NBNMissle_A3S Animation = NBNMissle_A3S.NBNMissle_A3S AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End ConditionState = DOOR_1_OPENING DAMAGED SNOW Model = NBNMissle_A2DS Animation = NBNMissle_A2DS.NBNMissle_A2DS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN DAMAGED SNOW Model = NBNMissle_A2DS Animation = NBNMissle_A2DS.NBNMissle_A2DS AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE DAMAGED SNOW Model = NBNMissle_A3DS Animation = NBNMissle_A3DS.NBNMissle_A3DS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING DAMAGED SNOW Model = NBNMissle_A3DS Animation = NBNMissle_A3DS.NBNMissle_A3DS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE SNOW Model = NBNMissle_A2ES Animation = NBNMissle_A2ES.NBNMissle_A2ES AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE SNOW Model = NBNMissle_A2ES Animation = NBNMissle_A2ES.NBNMissle_A2ES AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE SNOW Model = NBNMissle_A3ES Animation = NBNMissle_A3ES.NBNMissle_A3ES AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE SNOW Model = NBNMissle_A3ES Animation = NBNMissle_A3ES.NBNMissle_A3ES AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ; night ConditionState = NIGHT SNOW Model = NBNMissle_NS End ConditionState = DAMAGED NIGHT SNOW Model = NBNMissle_DNS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBNMissle_ENS ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = AWAITING_CONSTRUCTION NIGHT SNOW Model = None End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBNMissle_NS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBNMissle_DNS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBNMissle_ENS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT END ConditionState = DOOR_1_OPENING NIGHT SNOW Model = NBNMissle_A2NS Animation = NBNMissle_A2NS.NBNMissle_A2NS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DOOR_1_WAITING_OPEN NIGHT SNOW Model = NBNMissle_A2NS Animation = NBNMissle_A2NS.NBNMissle_A2NS AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE NIGHT SNOW Model = NBNMissle_A3NS Animation = NBNMissle_A3NS.NBNMissle_A3NS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost End ConditionState = DOOR_1_CLOSING NIGHT SNOW Model = NBNMissle_A3NS Animation = NBNMissle_A3NS.NBNMissle_A3NS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 End ConditionState = DOOR_1_OPENING DAMAGED NIGHT SNOW Model = NBNMissle_A2DNS Animation = NBNMissle_A2DNS.NBNMissle_A2DNS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN DAMAGED NIGHT SNOW Model = NBNMissle_A2DNS Animation = NBNMissle_A2DNS.NBNMissle_A2DNS AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE DAMAGED NIGHT SNOW Model = NBNMissle_A3DNS Animation = NBNMissle_A3DNS.NBNMissle_A3DNS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING DAMAGED NIGHT SNOW Model = NBNMissle_A3DNS Animation = NBNMissle_A3DNS.NBNMissle_A3DNS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBNMissle_A2ENS Animation = NBNMissle_A2ENS.NBNMissle_A2ENS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBNMissle_A2ENS Animation = NBNMissle_A2ENS.NBNMissle_A2ENS AnimationMode = MANUAL Flags = START_FRAME_LAST PRISTINE_BONE_POS_IN_FINAL_FRAME WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire ParticleSysBone = Steam01 BigMissileSteam ParticleSysBone = Steam02 BigMissileSteam End ConditionState = DOOR_1_WAITING_TO_CLOSE REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBNMissle_A3ENS Animation = NBNMissle_A3ENS.NBNMissle_A3ENS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY RockPost ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBNMissle_A3ENS Animation = NBNMissle_A3ENS.NBNMissle_A3ENSS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingFire ParticleSysBone = Smoke02 SmolderingFire ParticleSysBone = Smoke03 SmolderingFire ParticleSysBone = Smoke04 SmolderingFire ParticleSysBone = Smoke05 SmolderingFire ParticleSysBone = Smoke06 SmolderingFire End End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupDrop_A4 Animation = ABSupDrop_A4.ABSupDrop_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupDrop_A4N Animation = ABSupDrop_A4N.ABSupDrop_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupDrop_A4S Animation = ABSupDrop_A4S.ABSupDrop_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupDrop_A4SN Animation = ABSupDrop_A4SN.ABSupDrop_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = ABSupDrop_A6 Animation = ABSupDrop_A6.ABSupDrop_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = ABSupDrop_A6N Animation = ABSupDrop_A6N.ABSupDrop_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = ABSupDrop_A6S Animation = ABSupDrop_A6S.ABSupDrop_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = ABSupDrop_A6SN Animation = ABSupDrop_A6SN.ABSupDrop_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- ;Draw = W3DModelDraw ModuleTag_04 ;AnimationsRequirePower = No ;DefaultConditionState ;Model = None ;TransitionKey = DOWN_DEFAULT ;End ;ConditionState = NIGHT ;Model = None ;TransitionKey = DOWN_DEFAULT ;End ;ConditionState = SNOW ;Model = None ;TransitionKey = DOWN_DEFAULT ;End ;ConditionState = SNOW NIGHT ;Model = None ;TransitionKey = DOWN_DEFAULT ;End ;ConditionState = SOLD ;Model = NONE ;End ;ConditionState = ACTIVELY_BEING_CONSTRUCTED ;Model = NBNMissle_A5 ;Animation = NBNMissle_A5.NBNMissle_A5 ;AnimationMode = LOOP ;TransitionKey = UP_DAY ;End ;ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED ;Model = NBNMissle_A5N ;Animation = NBNMissle_A5N.NBNMissle_A5N ;AnimationMode = LOOP ;TransitionKey = UP_NIGHT ;End ;ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED ;Model = NBNMissle_A5S ;Animation = NBNMissle_A5S.NBNMissle_A5S ;AnimationMode = LOOP ;TransitionKey = UP_SNOW ;End ;ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED ;Model = NBNMissle_A5SN ;Animation = NBNMissle_A5SN.NBNMissle_A5SN ;AnimationMode = LOOP ;TransitionKey = UP_SNOWNIGHT ;End ;TransitionState = DOWN_DEFAULT UP_DAY ;Model = NBNMissle_AB ;Animation = NBNMissle_AB.NBNMissle_AB ;AnimationMode = ONCE ;AnimationSpeedFactorRange = 1.0 1.0 ;Flags = START_FRAME_FIRST ;End ;TransitionState = DOWN_DEFAULT UP_NIGHT ;Model = NBNMissle_ABN ;Animation = NBNMissle_ABN.NBNMissle_ABN ;AnimationMode = ONCE ;AnimationSpeedFactorRange = 1.0 1.0 ;Flags = START_FRAME_FIRST ;End ;TransitionState = DOWN_DEFAULT UP_SNOW ;Model = NBNMissle_ABS ;Animation = NBNMissle_ABS.NBNMissle_ABS ;AnimationMode = ONCE ;AnimationSpeedFactorRange = 1.0 1.0 ;Flags = START_FRAME_FIRST ;End ;TransitionState = DOWN_DEFAULT UP_SNOWNIGHT ;Model = NBNMissle_ABSN ;Animation = NBNMissle_ABSN.NBNMissle_ABSN ;AnimationMode = ONCE ;AnimationSpeedFactorRange = 1.0 1.0 ;Flags = START_FRAME_FIRST ;End ;TransitionState = UP_DAY DOWN_DEFAULT ;Model = NBNMissle_AB ;Animation = NBNMissle_AB.NBNMissle_AB ;AnimationMode = ONCE_BACKWARDS ;AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly ;Flags = START_FRAME_LAST ;End ;TransitionState = UP_NIGHT DOWN_DEFAULT ;Model = NBNMissle_ABN ;Animation = NBNMissle_ABN.NBNMissle_ABN ;AnimationMode = ONCE_BACKWARDS ;AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly ;Flags = START_FRAME_LAST ;End ;TransitionState = UP_SNOW DOWN_DEFAULT ;Model = NBNMissle_ABS ;Animation = NBNMissle_ABS.NBNMissle_ABS ;AnimationMode = ONCE_BACKWARDS ;AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly ;Flags = START_FRAME_LAST ;End ;TransitionState = UP_SNOWNIGHT DOWN_DEFAULT ;Model = NBNMissle_ABSN ;Animation = NBNMissle_ABSN.NBNMissle_ABSN ;AnimationMode = ONCE_BACKWARDS ;AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly ;Flags = START_FRAME_LAST ;End ;End ; Blinking lights ;Draw = W3DModelDraw ModuleTag_05 ;OkToChangeModelColor = Yes ; day ;ConditionState = NONE ;Model = NBNMissle_AC ;Animation = NONE ;End ;ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED ;Model = NBNMissle_AC ;Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ;End ;ConditionState = AWAITING_CONSTRUCTION ;Model = NONE ;End ;ConditionState = DOOR_1_OPENING ;Model = NBNMissle_AC ;Animation = NBNMissle_AC.NBNMissle_AC ;AnimationMode = LOOP ;Flags = START_FRAME_FIRST ;End ;ConditionState = DOOR_1_WAITING_OPEN ;Model = NBNMissle_AC ;Animation = NBNMissle_AC.NBNMissle_AC ;AnimationMode = LOOP ;Flags = START_FRAME_LAST ;End ;ConditionState = DOOR_1_WAITING_TO_CLOSE ;Model = NBNMissle_AC ;Animation = NBNMissle_AC.NBNMissle_AC ;AnimationMode = LOOP ;Flags = START_FRAME_FIRST ;WeaponLaunchBone = PRIMARY RockPos ;End ;ConditionState = DOOR_1_CLOSING ;Model = NBNMissle_AC ;Animation = NBNMissle_AC.NBNMissle_AC ;AnimationMode = LOOP ;Flags = START_FRAME_FIRST ;End ;End PlacementViewAngle = 135 ; ***DESIGN parameters *** DisplayName = OBJECT:CruiseMissile Side = AmericaSuperWeaponGeneral EditorSorting = STRUCTURE Prerequisites Object = SupW_AmericaWarFactory End BuildCost = 2000 BuildTime = 60.0 ; in seconds EnergyProduction = -10 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 CommandSet = SupW_AmericaCruiseMissileCommandSet ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 400 400 400 400 ; Experience point value at each level MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games MaxSimultaneousLinkKey = Superweapon ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType ; *** AUDIO Parameters *** VoiceSelect = NuclearMissileSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_TECHNOLOGY POWERED MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_06 MaxHealth = 4000.0 InitialHealth = 4000.0 End Behavior = OCLSpecialPower ModuleTag_07 SpecialPowerTemplate = SupW_CruiseMissile OCL = SUPERWEAPON_CruiseMissile End Behavior = SpecialPowerCreate ModuleTag_08 ;nothing End Behavior = MissileLauncherBuildingUpdate ModuleTag_09 SpecialPowerTemplate = SupW_CruiseMissile DoorOpenTime = 8000 DoorWaitOpenTime = 2000 DoorCloseTime = 8000 ; FXLists to play at transitions: DoorOpeningFX = ChinaNuclearMissileLauncherDoorOpen ;DoorOpenFX = FX_ABPowerPlantExplode DoorWaitingToCloseFX = ChinaNuclearMissileLauncherLaunch ;DoorClosingFX = FX_ABPowerPlantExplode ;DoorClosedFX = FX_ABPowerPlantExplode ; looping sound to play while open: DoorOpenIdleAudio = BuildingNeutronMissileHiss End Behavior = ProductionUpdate ModuleTag_10 DisabledTypesToProcess = DISABLED_HELD DISABLED_UNDERPOWERED End Behavior = DestroyDie ModuleTag_11 ;Nothing End Behavior = FireWeaponWhenDeadBehavior ModuleTag_12 DeathWeapon = ChinaPowerPlantDeathWeapon StartsActive = Yes End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_15 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = CreateObjectDie ModuleTag_20 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_21 ExemptStatus = UNDER_CONSTRUCTION DeathFX = FX_NukeGLA End Behavior = ProductionUpdate ModuleTag_22 ; This is needed in order to get a public timer to work! End Geometry = BOX GeometryMajorRadius = 45.0 GeometryMinorRadius = 55.0 GeometryHeight = 64.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object SupW_TomahawkMissile ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = AVTomahawk_M End End ; ***DESIGN parameters *** DisplayName = OBJECT:TomahawkMissile EditorSorting = SYSTEM VisionRange = 0.0 ArmorSet Conditions = None ;*Be careful with this type, use in conjunction with KindOf = BALLISTIC_MISSILE to restrict targeting ;*to select weapons, because ballistic missile armor is weak! Weapons capable of targeting must have ;*AntiBallisticMissile = Yes set in the Weapon.ini. Armor = BallisticMissileArmor DamageFX = None End ; *** ENGINEERING Parameters *** KindOf = PROJECTILE BALLISTIC_MISSILE Body = ActiveBody ModuleTag_02 MaxHealth = 200.0 InitialHealth = 100.0 End ; ---- begin Projectile death behaviors Behavior = InstantDeathBehavior DeathModuleTag_01 DeathTypes = NONE +DETONATED ; we detonated normally. FX = WeaponFX_TomahawkMissileDetonation End Behavior = InstantDeathBehavior DeathModuleTag_02 DeathTypes = NONE +LASERED ; shot down by laser. FX = FX_GenericMissileDisintegrate OCL = OCL_GenericMissileDisintegrate End Behavior = InstantDeathBehavior DeathModuleTag_03 DeathTypes = ALL -LASERED -DETONATED ; shot down by nonlaser. FX = FX_GenericMissileDeath End ; ---- end Projectile death behaviors Behavior = PhysicsBehavior ModuleTag_06 Mass = 1 End Behavior = MissileAIUpdate ModuleTag_07 TryToFollowTarget = Yes FuelLifetime = 00 IgnitionDelay = 0 IgnitionFX = FX_TomahawkIgnition InitialVelocity = 50 ; in dist/sec DistanceToTravelBeforeTurning = 80 DistanceToTargetBeforeDiving = 100 ; When I hit this close to target, I ignore PreferredHeight. ; Note, if this is too small, the missile will turn too late to hit. And, since we have a 2D ; heart, being over the target counts as "there", so we'll give up and just go straight. DistanceToTargetForLock = 10 ; Short lock on, as it looks better flying. jba. End Locomotor = SET_NORMAL SCUDStormMissileLocomotor ;Locomotor = SET_NORMAL TomahawkMissileLocomotor Behavior = SpecialPowerCompletionDie ModuleTag_08 SpecialPowerTemplate = SuperweaponScudStorm End Geometry = Cylinder ; Since collision extents can't tilt, this is a little fake GeometryMajorRadius = 8.0 GeometryHeight = 4.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL End